https://www.acmicpc.net/problem/9012
문제
문제풀이
괄호 문자열을 입력받아 문자 하나 하나를 리스트의 원소로 저장합니다. 반복문을 통하여 리스트의 원소를 탐색하다가 '('이 나오고 ')'이 나온 경우에는 리스트에서 소괄호 '('와 ')'를 삭제합니다. 이 과정을 재귀함수를 통하여 게속 반복한 후에, 만약 리스트가 빈 원소가 되었으면 문자열이 VPS를 성립하는 경우입니다.
소스코드
# function
def function(s):
if len(s) == 0:
return
fl = len(s)
for i in range(len(s)-1):
if s[i] + s[i+1] == '()':
s.pop(i); s.pop(i)
break
if fl == len(s):
return
return function(s)
# main
T = int(input())
for i in range(T):
string = input()
sList = list(string)
function(sList)
if len(sList) == 0:
print('YES')
else:
print('NO')
'Koala - 15기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/Python] 17094번: Serious Problem (0) | 2024.07.07 |
---|---|
[백준/C++] 1350번: 진짜 공간 (0) | 2024.07.07 |
[백준/C++] 11365번: !밀비 급일 (0) | 2024.07.07 |
[백준/Python3] 15917번 : 노솔브 방지문제야!! (0) | 2024.07.05 |
15기 기초알고리즘 스터디 출석부 (0) | 2024.07.03 |