728x90

list로 하니 채점이 오래 걸려서 deque 로 바꾸어서 해결했다. ')' 가 나왔을때 answer+=1 을 해주는 게 중요했다. 

import sys
from collections import deque
 
 
k = deque(list((sys.stdin.readline())))
 
answer = 0
index = 0
 
while k:
 
    if len(k)==1:
 
        break
 
 
 
 
    if k[0]=='(' and k[1]==')':
 
        # 발사
 
        answer += index
        k.popleft()
        k.popleft()
 
    else:
 
 
        if k[0] =='(':
 
            index+=1
            k.popleft()
 
 
        else:
 
            index-=1
            answer+=1
 
            k.popleft()
 
 
print(answer)
 
 
 
 
 
728x90

+ Recent posts