본문 바로가기
Develop/Python + SWEA

[SW Expert Academy] 4866. 괄호검사

by Tarra 2022. 2. 22.

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
= 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 Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

※ SW Expert 아카데미는 원칙적으로 문제를 무단 복제하는 것을 금지합니다.

학습용으로 문제를 가져왔으나, 문제가 될 시 수정 및 삭제하겠습니다.