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
- python popen
- 1697
- telegraf
- 백준
- regex_search
- c++ 정규식
- gcc regex
- influxdb 설치
- CentOS7
- linux시간으로 변경
- snmp
- subporcess path
- c3 축 가리기
- c3 second
- gcc 업데이트
- python os
- 정규식 활용
- InfluxDB
- c3 초
- grafana dashboard
- g++ 업데이트
- c3 step graph
- snmp test
- centos pyhon 설치
- c3 축 없애기
- 정규식 문자열 출력
- semanage
- selinux port 등록
- python subprocess
- 정규식 컴파일
Archives
- Today
- Total
리셋 되지 말자
[백준 4949] 균형잡힌 세상 - 스택 본문
코드
def solution(string):
stack = []
no_sts = False
for char in string:
# print(stack)
# 여는 괄호('[', '('가 나오면 stack에 추가
if char == '[' or char == '(':
stack.append(char)
# 닫는 괄호(']', ')'가 나오면 예외처리
elif char == ']' or char == ')':
# 닫는 괄호인데 스택이 비어있으면 no
if len(stack) == 0:
no_sts = True
break
else:
# 닫는 괄호와 stack의 맨위와 한쌍이 아니면 no
if char == ']' and stack[-1] == '(':
no_sts = True
break
# 닫는 괄호와 stack의 맨위와 한쌍이 아니면 no
elif char == ')' and stack[-1] == '[':
no_sts = True
break
# 닫는 괄호와 stack의 맨위와 한쌍이면 yes
else:
stack.pop()
else:
continue
# 닫는 괄호의 예외 처리에 걸렸거나, stack이 안비어 있으면 no
if no_sts or len(stack) != 0:
print('no')
else:
print('yes')
while True:
string = input()
if string == '.':
break
else:
solution(string)
'알고리즘' 카테고리의 다른 글
[백준 1874] 스택 수열 - 스택 (0) | 2022.01.19 |
---|---|
[백준 1966] 프린터 큐 - 큐 (0) | 2022.01.18 |
[백준 1080] 체스판 다시 칠하기 - 브루트포스 (0) | 2022.01.18 |
[백준 10816] 숫자 카드 2 - 자료구조, 정렬(?), 이분탐색(?) (0) | 2022.01.14 |
[백준 2805] 나무 자르기 - 이분 탐색 (0) | 2022.01.13 |
Comments