728x90
Key Point
1. stack 개념을 적용하여 ')' 이나 ']'이 확인 될 경우 리스트의 마지막을 가르키는
lists[-1] 문법을 활용하여 '('이나 '['이 알맞은 쌍으로 있을 경우 pop 시켜버린다.
2. result list에 아무 값도 없을 때 ')' or ']'이 확인 될 경우 no 출력.
3. 한번 값을 출력하면 result list를 clear 해주자. + count 값도 0으로 초기화
4. '.'이 입력 됐을 때 프로그램 종료되는 것을 인지하자!
n = ''
count = 0
result1=[]
while n!='.':
n=input()
if n=='.':
exit(0)
for i in n:
if i=="(" or i=="[":
result1.append(i)
elif i==")": # result 비었는데 )가 먼저 들어올 경우
if len(result1)==0:
count=-1
break
if result1[-1] == "(":
result1.pop()
else: #'['
count = -1
break
elif i=="]":
if len(result1)==0:
count=-1
break
if result1[-1] == "[":
result1.pop()
else:
count = -1
break
if count==-1 or len(result1)!=0:
print("no")
count = 0
result1.clear()
else:
print("yes")
728x90
'백준 풀이' 카테고리의 다른 글
[백준/BOJ] - 10866번 python 풀이 - deque, 덱 활용 (0) | 2022.11.22 |
---|---|
[백준/BOJ] - 10816번 python 풀이 - dict, dictionary 개념 (0) | 2022.11.22 |
[백준/BOJ] - 9012번 python 풀이 - stack 개념 (0) | 2022.11.22 |
[백준/BOJ] - 2839번 python 풀이 - Greedy algorithm (0) | 2022.11.21 |
[백준/BOJ] - 2164번 python 풀이 - deque 자료구조 사용 (0) | 2022.11.21 |