๐ค๋ฌธ์ ํด๊ฒฐ
1. D4 | ์คํ?
2. ๊ดํธ๋ฅผ ์ฒ์๋ถํฐ ํ๋์ฉ ๊ฒ์ฌํ๋ค.
3. ์ผ์ชฝ ๊ดํธ์ผ ๊ฒฝ์ฐ ์คํ์ ๋ฃ๋๋ค.
4. ์ค๋ฅธ์ชฝ ๊ดํธ์ผ ๊ฒฝ์ฐ ์คํ์ ๋ง์ง๋ง์ ์๋ ๊ดํธ์ ๋น๊ตํ์ฌ ์ง์ด ๋ง๋์ง ๊ฒ์ฌํ๋ค.
5. ์ง์ด ๋ง์ผ๋ฉด ํต๊ณผ
6. ์๋๋ผ๋ฉด ์ด ๊ดํธ๋ค์ ๋ง์ง ์๋ ๊ดํธ์ด๋ค. ์ข ๋ฃ
๐จ ๊ฐ๋ณ๊ฒ ์คํ์ ์ฐ์ตํ๋ ๋ฌธ์
๐ป์์ค ์ฝ๋
def isRight(parenthesis):
stack = []
for paren in parenthesis:
# ์ผ์ชฝ ๊ดํธ
if paren in parenthesis_list[0]:
stack.append(paren)
# ์ค๋ฅธ์ชฝ ๊ดํธ
else:
if stack:
k = stack[-1]
for i in range(4):
# ๊ดํธ ๋ค๊ฐ์ง์ค ์ง์ด ๋ง๋ค๋ฉด ํต๊ณผ
if k == parenthesis_list[0][i] and paren == parenthesis_list[1][i]:
stack.pop()
break
# ์๋๋ผ๋ฉด ๊ดํธ ์ง์ด ์๋ง๋ ๊ฒ์ด๋ฏ๋ก ๋ฐ๋ก 0์ ๋ฐํ
else:
return 0
else:
return 1
# ์๋ก ๋ง๋ ๊ดํธ ์ง์ ์ฒดํฌํ๊ธฐ ์ํ ๋ฆฌ์คํธ
parenthesis_list = [
['(', '{', '[', '<'],
[')', '}', ']', '>']
]
for tc in range(1, 11):
n = int(input())
parenthesiss = input()
answer = isRight(parenthesiss)
print('#{} {}'.format(tc, answer))
๐๋ฌธ์ ํ์ธ
์ถ์ฒ: SW Expert Academy
4 ์ข
๋ฅ์ ๊ดํธ๋ฌธ์๋ค '()', '[]', '{}', '<>' ๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค.
์ด ๋ฌธ์์ด์ ์ฌ์ฉ๋ ๊ดํธ๋ค์ ์ง์ด ๋ชจ๋ ๋ง๋์ง ํ๋ณํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ค.
์๋ฅผ ๋ค์ด ์๋์ ๊ฐ์ ๋ฌธ์์ด์ ์ ํจํ๋ค๊ณ ํ๋จํ ์ ์๋ค.
์๋์ ๊ฐ์ ๋ฌธ์์ด์ ์ ํจํ์ง ์์ ๋ฌธ์์ด์ด๋ค. ๋ถ์์์ผ๋ก ํ์๋ ๊ดํธ์ ์ง์ ์ฐพ์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์๋ ๋ฌธ์์ด์ ์ด๊ณ ๋ซ๋ ๊ดํธ์ ๊ฐ์๋ ์ ํจํ๋ ์ง์ด ๋ง์ง ์๋ ๊ดํธ๊ฐ ์ฌ์ฉ ๋์๊ธฐ ๋๋ฌธ์ ์ ํจํ์ง ์๋ค.
[์
๋ ฅ]
๊ฐ ํ
์คํธ ์ผ์ด์ค์ ์ฒซ ๋ฒ์งธ ์ค์๋ ํ
์คํธ์ผ์ด์ค์ ๊ธธ์ด๊ฐ ์ฃผ์ด์ง๋ฉฐ, ๋ฐ๋ก ๋ค์ ์ค์ ํ
์คํธ ์ผ์ด์ค๊ฐ ์ฃผ์ด์ง๋ค.
์ด 10๊ฐ์ ํ
์คํธ์ผ์ด์ค๊ฐ ์ฃผ์ด์ง๋ค.
[์ถ๋ ฅ]
#๋ถํธ์ ํจ๊ป ํ
์คํธ ์ผ์ด์ค์ ๋ฒํธ๋ฅผ ์ถ๋ ฅํ๊ณ , ๊ณต๋ฐฑ ๋ฌธ์ ํ ์ ํจ์ฑ ์ฌ๋ถ๋ฅผ 1 ๋๋ 0์ผ๋ก ํ์ํ๋ค (1 - ์ ํจํจ, 0 - ์ ํจํ์ง ์์).