-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개 이상 스택에 들어와 유지되는 시간 동안이 막대기 길이였고 그것을 토대로 코드를 만들었으나 )가 들어오고 )가 또 들어오는 경우를 생각을 못해서 시간이 걸렸습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 4358번 생태학 (0) | 2022.05.06 |
---|---|
[백준/파이썬] 18115번 카드 놓기 (0) | 2022.05.06 |
[백준/파이썬] 7795번 먹을 것인가 먹힐 것인가 (0) | 2022.05.06 |
[백준/파이썬] 11663번 선분 위의 점 (0) | 2022.05.06 |
[백준/파이썬] 2512번 예산 (0) | 2022.05.06 |