링크 : https://www.acmicpc.net/problem/9012
- 문제
- 소요시간: 24분 41초



- 설계하기(접근방법)
1.테스트 케이스를 입력받는다
2. 스택을 입력받을 리스트를 선언한다
3. VPS check 메서드를 선언한다
if '('가 원소로 들어오면 리스트에 append
if ')'가 원소로 들어오면 and 리스트가 비어있지 않다면 리스트에서 pop
- 만약 비어있었다면 VPS가 아니므로 stack 내에 'False'를 넣어주고 break
4. 반복문에 따라 VPS를 입력받으면서 VPS_check 메서드로 검사한다
만약 False가 있다면 break
그 뒤
스택에 원소가 남아있으면 VPS가 아니므로 'NO' 출력
스택이 비어있다면 VPS 이므로 'YES'출력
그 후 다음 반복문을 위해 스택을 초기화해준다
- 코드(출력)
stack = []
def VPScheck(array, text):
if text == '(':
array.append(text)
if text == ')':
if not array:
array.append('False')
return
array.pop()
t = int(input())
for i in range(t):
text = input()
for i in text:
VPScheck(stack, i)
if 'False' in stack:
break
if stack:
print('NO')
else:
print('YES')
stack = []
- 얻어갈 부분
1. 메서드 내에서 함수인자로 받은 리스트를 초기화할 경우 수행되지 않는다. 왜?
2. 조건문 흐름제어를 연습하였다
'알고리즘(백준) > 자료구조' 카테고리의 다른 글
| [알고리즘/자료구조] 10866번 : 덱 - python (0) | 2023.03.05 |
|---|---|
| [알고리즘/자료구조] 2164번 : 카드2 - python (0) | 2023.03.05 |
| [알고리즘/자료구조] 1158번 : 요세푸스 문제 - python (0) | 2023.03.04 |
| [알고리즘/자료구조] 18258 번 : 큐 2 - python (0) | 2023.03.04 |
| [알고리즘/자료구조] 10828번 : 스택 - python (0) | 2023.03.02 |