백준 10799 파이썬 (쇠막대기)

철웅·2022년 10월 11일
0

BOJ

목록 보기
10/46

문제 : https://www.acmicpc.net/problem/10799

💻 Code

import sys
input = sys.stdin.readline

bar_lazor = input().rstrip()
stack = []
result = 0

for i in range(len(bar_lazor)):
    if(bar_lazor[i] == '('):
        stack.append('(')
    else:  # ')' 일 때
        if (bar_lazor[i-1] == '('):
            stack.pop()
            result += len(stack)
        else:
            stack.pop()
            result += 1

print(result)

  • 이전 아이템이 무엇인지 확인하는 작업이 포함되어 있으니까 리스트에서 아이템을 하나씩 꺼내는 방식이 아니라 인덱스로 반복문을 돌려야 효율적이라는 점을 알았다.
  • 도저히 모르겠어서 코드 거의 다 복붙한거 같은데..
  • 그래도 이해는 했으니 ^.^

0개의 댓글