
이건 백준에서 풀었던 문제!
누가봐도 스택을 사용하는 문제다. 아까 풀었던 문제처럼 또 deque를 이용해서 풀어보자.
from collections import deque
stack = deque()
def solution(s):
ln = len(s)
for i in range(ln):
if s[i] == '(':
stack.append(1)
else:
if stack:
stack.pop()
elif i ==0:
return False
if stack:
return False
return True
( 가 나타나면 스택에 값을 넣어주고 )가 나타나면 스택에서 빼주면 되는 문제다.
다만 elif 부분을 보면 알 수 있듯이 첫번째로 )가 나오면 무조건 틀린 것이기에 원래 코드에서 예외처리 해줘야 한다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
| [알고리즘 고득점 kit/스택, 큐] 다리를 지나는 트럭 (0) | 2026.04.29 |
|---|---|
| [알고리즘 고득점 kit/스택, 큐] 프로세스 (0) | 2026.04.29 |
| [알고리즘 고득점 kit/스택, 큐] 기능개발 (0) | 2026.04.29 |
| [알고리즘 고득점 kit/해시] 베스트앨범 (0) | 2026.04.28 |
| [알고리즘 고득점 kit/해시] 의상 (0) | 2026.04.28 |