문제 : https://www.acmicpc.net/problem/10799
문제를 읽어도 스택을 써야하나 싶은 정도 밖에 방법이 안 떠올라서 바로 포기..
풀이를 보니 생각보다 너무 간단해서 놀랐다.
스택을 이용한 방법이다.
laser_lst = list(input())
stack = []
piece = 0
for i in range(len(laser_lst)):
if laser_lst[i] == '(': # (는 그냥 스택에 넣는다.
stack.append('(')
else: # )가 나온 경우
if laser_lst[i-1] == '(': # 레이저
stack.pop()
piece += len(stack) # 스택에 쌓인 개수(쇠막대기 개수)만큼 숫자 더해준다.
else: # 쇠막대기 끄트머리 - 하나만 추가
stack.pop()
piece += 1
print(piece)