Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- @FeignClient
- 구글 OAuth login
- spring batch 5.0
- 인프콘 2024
- 디자인패턴
- 항해99
- Spring multimodule
- KPT회고
- 취업리부트코스
- 1주일회고
- 개발자 취업
- 커스텀 헤더
- 단기개발자코스
- 개발자부트캠프추천
- 프로그래머스
- 전략패턴 #StrategyPattern #디자인패턴
- jwt
- 프로그래머스 이중우선순위큐
- 코딩테스트 준비
- 99클럽
- 빈 충돌
- JavaScript
- TiL
- DesignPattern
- 디자인 패턴
- infcon 2024
- Python
- 파이썬
- jwttoken
- 빈 조회 2개 이상
Archives
- Today
- Total
m1ndy5's coding blog
[자료구조] 백준 9012번 괄호 with Python 본문
https://www.acmicpc.net/problem/9012
import sys
stack = []
def push(num):
stack.append(num)
def pop():
if len(stack) == 0:
return -1
n = stack.pop()
return n
n = int(sys.stdin.readline().rstrip())
for i in range(n):
s = sys.stdin.readline().rstrip()
stack = []
for ch in s:
if ch == '(':
push(1)
if ch == ')':
result = pop()
if result == -1:
stack.append(1)
break
if len(stack) == 0:
print("YES")
else :
print("NO")
stack의 원리를 이용하면 되는 문제였다.
(가 들어오면 stack에 1을 push하고 )가 들어오면 pop을 해준다.
이 때 짝이 잘 맞는다면 push와 pop을 수행한 횟수가 같기때문에 stack의 크기는 0이 될 것이고 이 때 YES로 출력해주었다.
짝이 안맞는다면 pop을 해야하는데 아무것도 없거나(1을 임의로 넣어주고 break를 해주었다) pop이 되지 않아서 stack의 크기가 1이상일 것이고 이땐 NO로 출력하게 해주었다.
'알고리즘 with python > 자료구조' 카테고리의 다른 글
[자료구조]백준 1874번 스택 수열 with Python (0) | 2023.03.22 |
---|---|
[자료구조] 백준 1406번 에디터 with Python (0) | 2023.03.22 |
[자료구조] 백준 1935번 후위 표기식2 with python (0) | 2023.03.22 |
[자료구조] 백준 10773번 제로 with python (0) | 2023.03.22 |
[자료구조] 백준 10828번 스택 with Python (0) | 2023.03.20 |