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 | 29 | 30 | 31 |
Tags
- java
- 자바 자동캐스팅
- 프로그래머스
- TypeScript
- 자바 for문
- 자바 스캐너
- 자바 switch문
- 항해99
- react with typescript
- 자바 공배수
- 자바 반복문
- 자바 삼항연산자
- 자바 조건문
- 자바 if문
- react ag grid
- 타입스크립트
- 자바 public
- 이클립스 DB연동
- 자바 향상된 for문
- Til
- MySQL
- 자바
- 자바 구구단 출력
- 정보처리기사실기
- 항해99 2기
- 조코딩
- 자바 강제 캐스팅
- Vue3
- 자바 while문
- 변수
Archives
- Today
- Total
뇌 채우기 공간
[백준] 4949 균형잡힌 세상 파이썬 풀이 (스택) 본문
코드
while True:
string = input()
if string == '.':
break
stack = []
check = True
for i in string:
if i == '(' or i == '[': #stack에 넣음
stack.append(i)
elif i == ')':
if stack and stack[-1] == '(': #stack이 안비었으면
stack.pop()
else:
check = False
break
elif i == ']':
if stack and stack[-1] == '[': #stack이 안비었으면
stack.pop()
else:
check = False
break
if not stack and check:
print('yes')
else:
print('no')
풀이
(이나 [가 나오면 stack에 append하고
)이 나오면 stack이 안비었고 stack에 마지막이 (인지 확인해서 pop하고
비었으면 break (균형 안잡힌 세상)
마찬가지로 ]이 나왔을때도 똑같이 확인
그리고 문자열이 다 끝나고 나서 stack이 다 비워졌고 check가 true면 yes를 하고
(check는 문자를 끝까지 돌았는지 확인하기 위해 만든 변수이고
중간에 stack이 비었는데 )이나 ]이 나오면 check는 false가 된다)
아니라면 no를 출력한다.
728x90
'알고리즘 > 백준 문제풀이' 카테고리의 다른 글
[백준] 1021 회전하는 큐 파이썬 풀이 (큐) (0) | 2021.06.21 |
---|---|
[백준] 1874 스택수열 파이썬 풀이 (스택) (0) | 2021.06.21 |
[백준] 1010 다리 놓기 파이썬 풀이 (정수론 및 조합론) (0) | 2021.06.21 |
[백준] 11050 이항계수 1 파이썬 풀이 (정수론 및 조합론) (0) | 2021.06.21 |
[백준] 1934 최소 공배수 파이썬 풀이 (정수론 및 조합론) (0) | 2021.06.21 |