소스 코드
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. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.
오류나 적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.
혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다.
'코딩 문제해결 > 문제 풀이.SWEA' 카테고리의 다른 글
[SWEA 코딩] 격자판의 숫자 이어 붙이기 - PYTHON #2819 (0) | 2021.07.13 |
---|---|
[SWEA 코딩] 영준이의 카드 카운팅 - PYTHON #4047 (0) | 2021.06.30 |
[SWEA 코딩] 빠른 휴대전화 키패드 - PYTHON #4261 (0) | 2021.06.26 |
[SWEA 코딩] 초보자를 위한 점프대 배치하기 - PYTHON #3503 (0) | 2021.06.25 |
[SWEA 코딩] 정사각형 방 - PYTHON #1861 (0) | 2021.06.22 |