소스 코드

T = int(input())

for tc in range(1,1+T):

    # 쇠막대기와 레이저 정보
    board = list(input())

    # 현재 위치
    idx = 0

    # 현재까지 잘린 쇠막대기의 수
    cnt = 0

    # '('의 개수
    left = 0

    while True:

        # '('인 경우
        if board[idx] == '(':

            # 바로 ')' 오면(레이저인 경우)
            if board[idx+1] == ')':
                idx += 2
                cnt += left

            # 쇠막대기의 시작위치인 경우
            else:
                idx += 1
                left += 1

        # ')'인 경우(쇠막대기의 끝인 경우)
        else:
            idx += 1
            
            # 어떤 막대기를 2번 자르면 3개임
            cnt += 1
            left -= 1

        # 끝까지 가면 끝내기
        if idx == len(board):
            break

    print('#{} {}'.format(tc,cnt))

 


해결 방법

 


느낀 점

 

 

ps. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.

 

오류적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.

 

혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다.