티스토리 뷰

괄호 ()가 잘 닫혀있는지를 체크하는 문제이다.
간단하게 stack으로 구현하면 될 듯 하다.

이번 문제도 화이팅 하자!



import sys

if __name__ == "__main__" :

    # 데이터를 잘 받자!
    N = int(sys.stdin.readline())

    for i in range(N) :
        # 데이터를 잘 받자, 이 문제에서 input에 space가 없으니까 안전하게 split()[0]
        in_ = sys.stdin.readline().split()[0]

        # 괄호를 stack 해서 넣었다 빼며 체크해보자
        staack = []
        # 일단 true로 가자 나는 성선설이 좋다
        is_valid = True
        for v in in_ :
            if v == "(" :
                staack.append(1)
            else :
                if len(staack) > 0 :
                    staack.pop()
                else :
                    # 이 아이는 슬프게도 나쁜아이였다, 아니 나쁘게 자란건가.
                    # 가정환경이 이래서 중요하다.
                    is_valid = False
                    break
        if len(staack) != 0 :
            # 이 경우(=모든 character가 끝났는데 stacked 된 아이 가 남아있는)도 나쁜아이다
            is_valid = False

        print("YES" if is_valid else "NO")
  • 이번 문제는 문제를 읽고 아 이거 stack으로 풀라는거구나! 하고 알면 금방 풀릴 문제였다.
  • 고등학교때 수학문제 푸는거같다. 물론 난 수학 잘 못했다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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 31
글 보관함