백준 10799번 쇠막대기
코드
import sys
input = sys.stdin.readline
bar_razor = list(input().rstrip())
answer = 0
stack = []
for i in range(len(bar_razor)):
# '('일 경우 계속 스택에 저장
if bar_razor[i] == '(':
stack.append('(')
else:
#()라면 (를 pop하고 현재 스택에 들어있는 ( 수만큼 값을 더해준다.
if bar_razor[i-1] == '(':
stack.pop()
answer += len(stack)
else:
stack.pop()
#끄트머리 막대기 부분을 더해준다
answer += 1
print(answer)