728x90
> 파이썬
📖 문제 : D4 - 괄호 짝짓기 (Python)
4 종류의 괄호문자들 '()', '[]', '{}', '<>' 로 이루어진 문자열이 주어진다.
이 문자열에 사용된 괄호들의 짝이 모두 맞는지 판별하는 프로그램을 작성한다.
예를 들어 아래와 같은 문자열은 유효하다고 판단할 수 있다.
아래와 같은 문자열은 유효하지 않은 문자열이다. 붉은색으로 표시된 괄호의 짝을 찾을 수 없기 때문이다.
아래 문자열은 열고 닫는 괄호의 개수는 유효하나 짝이 맞지 않는 괄호가 사용 되었기 때문에 유효하지 않다.
[입력]
각 테스트 케이스의 첫 번째 줄에는 테스트케이스의 길이가 주어지며, 바로 다음 줄에 테스트 케이스가 주어진다.
총 10개의 테스트케이스가 주어진다.
[출력]
#부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 유효성 여부를 1 또는 0으로 표시한다 (1 - 유효함, 0 - 유효하지 않음).
내 코드
T = 10
for test_case in range(1, T + 1):
N = int(input())
string = input()
stack = []
for s in string:
if s == '{' or s == '[' or s == '(' or s == '<':
stack.append(s)
else:
temp = stack.pop()
if s == '}' and temp != '{':
print(f"#{test_case} 0")
break
elif s == ')' and temp != '(':
print(f"#{test_case} 0")
break
elif s == ']' and temp != '[':
print(f"#{test_case} 0")
break
elif s == '>' and temp != '<':
print(f"#{test_case} 0")
break
else:
continue
else:
print(f"#{test_case} 1")
swea
https://swexpertacademy.com/main/main.do
728x90
'SAMSUNG > SSAFY 준비 (swea)' 카테고리의 다른 글
[SWEA 1861번] D4 - 정사각형 방 (Python) (0) | 2023.11.07 |
---|---|
[SWEA 2819번] D4 - 격자판의 숫자 이어 붙이기 (Python) (0) | 2023.11.07 |
[SWEA 1226번] D4 - 7일차 미로1 (Python) (0) | 2023.11.07 |
[SWEA 1210번] D4 - ladder1 (Python) (0) | 2023.11.07 |
[SWEA 1249번] D4 - 보급로 (Python) (0) | 2023.11.07 |