์นดํ
๊ณ ๋ฆฌ ์์
<์คํ/ํ> ํ๋ก๊ทธ๋๋จธ์ค ๋ ๋ฒจ 2. ์ฌ๋ฐ๋ฅธ ๊ดํธ
์๋๋ค
2022. 8. 17. 16:32
https://school.programmers.co.kr/learn/courses/30/lessons/12909
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
def solution(s):
answer = True
stack = []
for i in s:
if i == '(':
stack.append(0)
else :
if not stack: #์คํ์ ๋น์์ผํ๋๋ฐ ์ด๋ฏธ ๋น์์ ธ ์์ผ๋ฉด
return False
stack.pop()
if stack: #์คํ์ด ์ฑ์์ ธ ์์ผ๋ฉด
return False
else : # ์คํ์ด ๋น์์ ธ ์์ผ๋ฉด
return True
return True
๊ธฐํธ '(' ๊ฐ ์์ผ๋ฉด ์คํ์ ์ถ๊ฐํด์ฃผ๊ณ , ')'๊ฐ ์์ผ๋ฉด ์ญ์ ํด์ฃผ๋ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ฉด ๋๋ค.
์ด๋, ๊ธฐํธ๊ฐ ')'๋ถํฐ ์์๋๋ฉด, ๋น์ด์ง ์คํ์ pop์ ํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์, False๋ฅผ ๋ฆฌํดํด์ฃผ๋ฉด ๋๋ค