코딩테스트/백준

[백준][Python] 9012. 괄호

내만 2022. 8. 23. 20:58
728x90
반응형

반응형

 

 

 

 

 

 

🙆‍♂️문제


 

🙋‍♂️풀이


 

 

🚀 입력받기


import sys
n = int(sys.stdin.readline())
ps = [list(input()) for _ in range(n)]

괄호 케이스 수를 n에 입력받고

괄호들은 ps리스트로 입력됩니다.

 

🚀 문제 풀이 핵심 & 출력


for i in ps:
    psStack=[]
    chk=1
    for j in i:
        if j == '(':
            psStack.append('(')
        elif j ==')':
            if len(psStack) == 0:
                chk=0
                break
            else:
                psStack.pop(len(psStack)-1)
    if len(psStack) == 0 and chk == 1:
        print("YES")
    else:
        print("NO")

'('를 입력받으면 psStack이라는 리스트를 스택처럼 사용하여 '(' 쌓습니다.

 

그렇게 하여 ')'가 입력될 때 pop되도록 하는데 매칭되는 '('가 없다면 break를 걸고 NO를 출력합니다.

'('가 다 닫히지 않았으면 NO를 출력하고

다 닫히고 추가로 닫는 것도 없다면 YES를 출력하도록 합니다.

 

 

728x90

728x90
반응형

'코딩테스트 > 백준' 카테고리의 다른 글

[백준][Python] 3046. R2  (0) 2022.08.23
[백준][Python] 1874. 스택 수열  (0) 2022.08.23
[백준][Python] 9093. 단어 뒤집기  (0) 2022.08.23
[백준][Python] 10828. 스택  (0) 2022.08.23
[백준][Python] 18870. 좌표 압축  (0) 2022.08.23