소스 코드

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. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.

 

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

 

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