[Python] BOJ 9012: 괄호

Binsu·2021년 8월 14일
0

Algorithms

목록 보기
7/22

문제

접근 방법

for문으로 li 리스트 원소를 하나씩 꺼내며 문자열 중 왼쪽 괄호, 오른쪽 괄호 모양에 따라 +1, -1을 T만큼 반복해서 cnt에 누적하고, cnt가 0이 아니라면 '올바른 괄호 문자열(Valid PS, VPS)'이라고 판단하면 된다.

풀이

import sys

T = int(sys.stdin.readline())

for i in range(T):
    PS = sys.stdin.readline().strip()
    li = list(str(PS))
    cnt = 0

    for j in li:
        if j == '(':
            cnt += 1
        elif j == ')':
            cnt -= 1
        if cnt < 0:
            break

    if cnt != 0:
        print('NO')
    elif cnt == 0:
        print('YES')

과제

PyPy로 제출하면 CPython 대비 메모리와 시간이 꽤 차이나서 그 이유를 공부해야겠다.

0개의 댓글