본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬] 10799번 쇠막대기

by 현장 2022. 5. 6.

-Code

s = input()
stack = []
cnt = 0
for i in range(len(s)):
    if s[i] == '(':
        stack.append(s[i])
    else:
        stack.pop()

        if s[i - 1] == '(':
            cnt += len(stack)
        else:
            cnt += 1

print(cnt)

처음에 쇠막대기 길이가 어떻게 주어지는지 이해를 못 해서 찾아보니 (가 2개 이상 스택에 들어와 유지되는 시간 동안이 막대기 길이였고 그것을 토대로 코드를 만들었으나 )가 들어오고 )가 또 들어오는 경우를 생각을 못해서 시간이 걸렸습니다.