5432 - 쇠막대기 자르기

박재현·2022년 2월 18일
0

알고리즘 부수기

목록 보기
37/43
post-thumbnail

문제 설명

링크

문제 풀이

규칙성을 찾는다.

  1. '(' 는 막대기를 추가한다. cnt += 1
  2. ')' 일 때, 바로 앞이 '(' 이면 cnt -= 1, sol += cnt
    바로 앞이 ')' 이면 막대기가 감소한다. cnt -= 1 sol += 1

코드

T = int(input())
for tc in range(1, T + 1):
    arr = input()
    result = cnt = 0
    for i in range(len(arr)):
        if arr[i] == '(':
            cnt += 1
        else:
            cnt -= 1
            if arr[i-1] == '(':
                result += cnt
            else:
                result += 1
    print(f'#{tc} {result}')
profile
공동의 성장을 추구하는 개발자

0개의 댓글