해결 과정
처음엔 소괄호 대괄호 스택 따로 있어야 하나 했는데 아님. 하나로 해야 함. if else 조건 잘못 줘서 한 번 틀렸다가, 예외 케이스가 있다는 것을 인지하고 변경함. 일반적인 stack 풀이.
나의 풀이
def solution(str):
stack = []
answer = "yes"
for s in str:
if s == "(":
stack.append(s)
elif s == "[":
stack.append(s)
elif s == ")":
if stack and stack[-1] == "(":
stack.pop()
else:
answer = "no"
break
elif s == "]":
if stack and stack[-1] == "[":
stack.pop()
else:
answer = "no"
break
if stack:
answer = "no"
return answer
while True:
string = input()
if string == ".":
break
print(solution(string))
'Coding Test > 문제 풀이' 카테고리의 다른 글
[문제 풀이] 백준 15686 (0) | 2022.03.22 |
---|---|
[문제 풀이] 백준 1011 (0) | 2022.03.22 |
[문제 풀이] 백준 12865 (0) | 2022.03.21 |
[문제 풀이] 문자열 문제 (백준) (0) | 2022.03.21 |
[문제 풀이] k진수에서 소수 개수 구하기 (Python, Swift) (0) | 2022.03.16 |