1 2 3 4 5 6 7 8 9 10 11 12 13 | array=list(input()) stack=[] answer=0 for i in range(len(array)): if array[i]=='(': stack.append("(") continue if len(stack)!=0 and stack[-1]=="(": stack.pop() else: answer+=1 print(answer+len(stack)) | cs |
array=list(input())
stack=[]
answer=0
for i in range(len(array)):
if array[i]=='(':
stack.append("(")
continue
if len(stack)!=0 and stack[-1]=="(":
stack.pop()
else:
answer+=1
print(answer+len(stack))
스택의 성질을 이용하여
푼 문제!
( 괄호면 stack에 넣고
) 괄호면 짝이 있는지 없는지
stack을 살펴봐야한다.
짝이 없으면 answer+=1
있으면 stack.pop()
'여니의 취준 준비 > 코딩테스트 (Python)' 카테고리의 다른 글
[2512] 예산 in python [이분탐색] (0) | 2022.01.04 |
---|---|
[1057] 토너먼트 in python (0) | 2022.01.04 |
[n5698] Tautogram in python (0) | 2021.11.25 |
[n1822] 차집합 in python (0) | 2021.11.18 |
[n1755] 숫자 놀이 in python (0) | 2021.11.18 |