4866. 괄호검사
문제)
주어진 입력에서 괄호 {}, ()가 제대로 짝을 이뤘는지 검사하는 프로그램을 만드시오.
예를 들어 {( )}는 제대로 된 짝이지만, {( })는 제대로 된 짝이 아니다. 입력은 한 줄의 파이썬 코드일수도 있고, 괄호만 주어질 수도 있다.
정상적으로 짝을 이룬 경우 1, 그렇지 않으면 0을 출력한다.
print(‘{‘) 같은 경우는 입력으로 주어지지 않으므로 고려하지 않아도 된다.
[입력]
첫 줄에 테스트 케이스 개수 T가 주어진다. 1≤T≤50
다음 줄부터 테스트 케이스 별로 온전한 형태이거나 괄호만 남긴 한 줄의 코드가 주어진다.
[출력]
각 줄마다 "#T" (T는 테스트 케이스 번호)를 출력한 뒤, 답을 출력한다.
풀이)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
T = int(input())
for _ in range(T):
word = input()
li = []
for i in word:
if i == "{" or i == "(":
li.append(i)
if len(li) == 0:
if i == "}" or i == ")":
li.append(i)
break
elif len(li) > 0:
if i == "}":
if li[-1] == "{":
li.pop()
else:
break
elif i == ")":
if li[-1] == "(":
li.pop()
else:
break
if len(li):
print(f"#{_ + 1} 0")
else:
print(f"#{_ + 1} 1")
|
cs |
문제 출처 : https://swexpertacademy.com/main/main.do
※ SW Expert 아카데미는 원칙적으로 문제를 무단 복제하는 것을 금지합니다.
학습용으로 문제를 가져왔으나, 문제가 될 시 수정 및 삭제하겠습니다.
'Develop > Python + SWEA' 카테고리의 다른 글
[SW Expert Academy] 1234. 비밀번호 (0) | 2022.02.22 |
---|---|
[SW Expert Academy] 4873. 반복문자 지우기 (0) | 2022.02.22 |
[SW Expert Academy] 2005. 파스칼의 삼각형 (0) | 2022.02.21 |
[SW Expert Academy] 4408. 자기 방으로 돌아가기 (0) | 2022.02.21 |
[SW Expert Academy] 1211. Ladder2 (0) | 2022.02.20 |