CodingTest/Python
BOJ_4949 : ๊ท ํ์กํ ์ธ์
Soom_1n
2022. 8. 8. 19:27
4949๋ฒ: ๊ท ํ์กํ ์ธ์
ํ๋ ๋๋ ์ฌ๋ฌ์ค์ ๊ฑธ์ณ์ ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค. ๊ฐ ๋ฌธ์์ด์ ์๋ฌธ ์ํ๋ฒณ, ๊ณต๋ฐฑ, ์๊ดํธ("( )") ๋๊ดํธ("[ ]")๋ฑ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๊ธธ์ด๋ 100๊ธ์๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. ๊ฐ ์ค์ ๋ง์นจํ(".")๋ก ๋๋๋ค
www.acmicpc.net
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ๋ฌธ์์ด์ ์ฒ๋ฆฌ์ ์คํ ํ์ฉ์ด ํฉ์ณ์ ธ์๋ ๋ฌธ์ ์ด๋ค.
๐ธ ์ฝ๋ ๐ธ
import sys
input = sys.stdin.readline
while(True):
ss = input().rstrip()
if ss == ".": break
stack = []
check = False
for c in ss:
if c == '(' or c == '[':
stack.append(c)
elif c == ')':
if len(stack) == 0 or stack[-1] != '(': check = True
else: stack.pop(-1)
elif c == ']':
if len(stack) == 0 or stack[-1] != '[': check = True
else: stack.pop(-1)
if check: print("no")
else:
if len(stack) != 0: print("no")
else: print("yes")
๐ธ ์ฝ๋ ํด์ ๐ธ
- ํ ์ค ์ ๋ ฅ์ด ๊ธด ๊ฒ ๊ฐ์ ๋น ๋ฅธ ์ ๋ ฅ์ ์ฌ์ฉํ๋ค.
- stack ๋ฆฌ์คํธ๋ฅผ ์คํ์ผ๋ก ํ์ฉํ๋ค.
- ๊ดํธ์ ์์ด ๋ง์ผ๋ฉด ์์ ์คํ์์ ์ ๊ฑฐํ๋ค.
- ์์ด ๋ง์ง ์๋ ๋ฌธ์์ด์ด๋ฉด check๋ฅผ True๋ก ๋ฐ๊ฟ์ค๋ค.
๐ธ end ๐ธ
- ์ง๊ธ๋ณด๋ check๊ฐ True๊ฐ ๋ ๋ break๋ฅผ ๋ฃ์ด์ค์ผ ํ๋๋ฐ ๊ทธ๋ฅ ์งํํด๋ ํต๊ณผ๋๋ค.
- ์ฒซ ์๋์์ ์๋์น์๊ฒ ์คํ๋ก ์ธํ from turtle import st ์ด๋ผ๋ ๋ชจ๋์ด ๋ค์ด๊ฐ์ ์ฑ์ ์ ์คํจํ๋ค.
- ์คํ์ ์ฃผ์ํด์ผ๊ฒ ๋ค. vscode์ ํธ์์ฑ์ด ๋ฐฉํด๊ฐ ๋ ๋ถ๋ถ์ด๋ค...
728x90