티스토리 뷰

백준

백준 4949 문제풀이 [python]

ys.k 2023. 8. 17. 23:55

포스팅에 앞서 내용이 틀릴 수 있습니다.
해당 부분 지적 감사히 받습니다.

문제를 보자.

이 문제에서 한 가지 주의해야 할 점이 있다.

 

([)] 형식으로 괄호가 닫히면 no다.

 

코드를 보자

 

코드

import sys as s

while True:
    array=[]
    sen = s.stdin.readline()
    if sen == '.\n' :
        break

    for i in sen:
        if i == '(':
            array.append('(')
        elif i == '[':
            array.append('[')
        if i == ')':
            if not len(array):
                array.append(')')
                break
            if array[-1] == '(':
                array.pop()
            else:
                break
        if i == ']' :
            if not len(array):
                array.append(']')
                break
            if array[-1] == '[':
                array.pop()
            else:
                break

    if array:
        print('no')
    else:
        print('yes')

기존 괄호 문제를 풀었을때는 자료구조를 생각하지 않았는데, 이 문제를 접하면서 자료구조를 통해 문제를 푸는 게 더 정확하게 풀 수 있겠다는 생각이 들었다.

'백준' 카테고리의 다른 글

백준 18258 문제풀이 [python]  (0) 2023.08.18
백준 12789 문제풀이 [python]  (0) 2023.08.18
백준 10773 문제풀이 [python]  (0) 2023.08.17
백준 17103 문제풀이 [python]  (0) 2023.08.15
백준 4948 문제풀이 [python]  (0) 2023.08.15
댓글