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
'🟢 알고리즘 문제 풀이 > Baekjoon' 카테고리의 다른 글
| [파이썬] 백준 9095 1, 2, 3 더하기 (0) | 2023.06.12 |
|---|---|
| [파이썬] 백준 3085 사탕 게임 (0) | 2023.06.12 |
| [파이썬] 백준 13975 파일 합치기 3 (0) | 2023.05.25 |
| [파이썬] 백준 1339 단어 수학 (0) | 2023.05.23 |
| [파이썬] 백준 16432 떡장수와 호랑이 (0) | 2023.05.22 |