๋ฐ์ํ
๋ฌธ์ ๋งํฌ
https://programmers.co.kr/learn/courses/30/lessons/12909
๋์ ํ์ด
- ์๋ฃํ list๋ฅผ ์ฌ์ฉํ๋ฉด ํจ์จ์ฑ์ด ๋จ์ด์ง๋ค. list๋ฅผ ์ฌ์ฉํ์ง๋ง๊ณ ๋ฌด์กฐ๊ฑด deque๋ฅผ ์ฌ์ฉํ์ (์ค์ ๋ก list๋ฅผ ๋ชจ๋ deque๋ก ๋ฐ๊พธ์๋๋ ํจ์จ์ฑํ ์คํธ ํต๊ณผ๋ฅผ ํ์๋ค.)
- ๊ดํธ๋ () ์ด๋ ๊ฒ ๋ซํ์ผ๋ง True๋ก ์ธ์ํด์ผํ๋ค.
- s์ ์ฃผ์ด์ง ๊ดํธ๋ค์ ํ๊ฐ์ฉ left ๋ณ์์ ์ ์ฅํด๋๊ณ , ๋ค์ ๋ณ์๋ฅผ ๋ณด๋ฉด์ () ๋ซํ๋ ๊ตฌ์กฐ๊ฐ ๋์ค๋ฉด left์์ ์์ ์ฃผ๋ ๊ณผ์ ์ ๊ฑฐ์น๋ฉฐ True/False๋ฅผ ๊ตฌ๋ณํด๋๋ค.
from collections import deque
def solution(s):
right = deque(s)
left = deque()
while right:
r = right.popleft()
if len(left) == 0:
if r != ')':
left.append(r)
else:
left.append('999')
break
else:
if left[-1] == '(':
if r == ')':
left.pop()
else:
left.append(r)
if len(left) == 0:
answer = True
else:
answer = False
return answer
๋ฌธ์ ๊ฐ ๊ฐํธ๋์ด์ ์ข์์๋ฅผ ๋ง์ด ๋ฐ์ ํ์ด๋ ์ฐธ๊ณ ํ๊ธฐ ์ด๋ ค์ ๋ค. ์ธํฐ๋ท์ ํตํด ํ์ด์ฌ์ผ๋ก ํผ ๋ค๋ฅธ ์ฌ๋ ํ์ด๋ฅผ ์ดํด๋ณด๋, ๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ฌ๋๋ค์ด ๋ง์๋ค. ์ฌ์ค ๋๋ ์ด์ ์ ๊ดํธ์ ๊ด๋ จ๋ ๋ฌธ์ ๋ฅผ ํ์ด๋ณด๋ ๋์ผํ ๋ฐฉ์์ผ๋ก ํ์ด๋ฅผ ์งํํด ๋๊ฐ์๋ค. ์ด์ฒ๋ผ ๋ฌธ์ ๋ฅผ ๋ง์ด ํ์ด๋ณผ์๋ก ํ์ด ๊ณผ์ ์ ๋ํ ๊ณ ๋ฏผ์ ์๊ฐ์ด ์ค์ด๋๋ ๊ฒ์ ๋๊ผ๋ค. ๋ ธ๋ ฅ์ ๋ฐฐ์ ํ์ง์๋๋ค!!! ์ด์ฌํ ๊พธ์คํ๋ง ํ์ ใ ใ
๋ฐ์ํ
'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] (Swift) Kakao ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ ๊ฒ์ (0) | 2022.04.28 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์ด๋ถํ์ - ์ง๊ฒ๋ค๋ฆฌ (ํ์ด์ฌ) (2) | 2021.10.14 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ด๋ถํ์ - ์ ๊ตญ์ฌ์ฌ (level.3) (0) | 2021.10.07 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ ํ์ - ์นดํซ (level.2) (0) | 2021.09.23 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฃผ์๊ฐ๊ฒฉ (level.2) (0) | 2021.09.23 |