https://www.acmicpc.net/problem/10799
실패이유
: 구현실패
bars = input()
stack = []
bars = list(bars.replace("()", "*")) # 알아보기 쉽게 레이저 부분을 * 로 변환
bar_cnt = 0
for ch in bars:
if ch == "(":
stack.append(ch) # 막대기 시작부분 '(' 스택에 넣기
elif ch == "*":
bar_cnt += len(stack) # 레이저를 만나면, 현재 스택에 들어있는 '(' 수만큼 더해준다.
elif ch == ")":
stack.pop()
bar_cnt += 1 # 막대기 끝 부분을 더한다.
print(bar_cnt)
스택을 이용하여 문제풀이
- 문제를 너무 어렵게 생각하지 말자