상세 컨텐츠

본문 제목

백준 9012 - 괄호 (파이썬)

알고리즘/백준 단계별 문제

by 테크투아트 2020. 12. 27. 11:58

본문

www.acmicpc.net/problem/9012

 

9012번: 괄호

괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고

www.acmicpc.net

 

풀이

# 먼저 문자열을 몇 번 입력 받을건지를 체크한다.
n = int(input())

# 체크한 횟수만큼 for문을 돌려서
for i in range(n):
    # 괄호문을 입력받는다.
    line = input()
    # ()를 발견할 때마다 공백으로 replace 해준다.
    while(True):
        if("()" in line):
            line = line.replace("()", "")
        # ()를 발견하지 못했다면
        else:
            # line이 빈 문자열일때 YES를 출력하고,
            if (line == ""):
                print("YES")
                # while문을 종료한다.
                break
            # line에 무언가 남아있다면, 괄호 짝이 맞지 않으므로 NO를 출력하
            else:
                print("NO")
                # while문을 종료한다.
                break

 

 

체크 포인트

 

파이썬에서 문자열은 immutable한 자료형이기 때문에 변하지 않는다.

따라서,

 

line = line.replace("()", "")

에서처럼, replace를 해준 뒤 다시 line에 그 값을 넣어줘야한다. 

관련글 더보기