티스토리 뷰
728x90
코드
T = int(input())
for tc in range(1, T+1):
S = input() # 인풋 스트링
stack = []
for s in S:
# 괄호인 애들만 체킹
if s == '{' or s == '(':
stack.append(s)
elif s == '}' or s == ')':
# stack이 비어있으면 추가하고 break. 어차피 뒤쪽을 봐야 이미 짝이 안맞기 때문
if not stack:
stack.append(s)
break
# s랑 stack의 마지막 요소랑 다른 괄호이면 역시 그냥 더해주고 break. 어차피 제대로 된 짝이 아니니까
elif (s == '}' and stack[-1] != '{') or (s == ')' and stack[-1] != '('):
stack.append(s)
break
# 위의 경우에 모두 해당 안되면(i.e. 제대로 짝이 맞는 경우)
else:
stack.pop()
# stack의 길이가 0이 아니면(i.e. 괄호가 남아있다는 의미)
if len(stack):
print("#{} 0".format(tc))
# stack의 길이가 0인 경우(i.e. 짝이 잘 맞았다는 의미)
else:
print("#{} 1".format(tc))
'algorithm > swea' 카테고리의 다른 글
[swea] 1974. 스도쿠 검증 / python 파이썬 (0) | 2021.04.09 |
---|---|
[swea] 1222. 계산기1 / python 파이썬 (0) | 2021.04.09 |
[swea] 1206. View / python 파이썬 (0) | 2021.04.09 |
[swea] 1208. Flatten / python 파이썬 (0) | 2021.04.09 |
[swea] 4408. 자기 방으로 돌아가기 / python 파이썬 (0) | 2021.04.09 |
댓글
글 보관함
TAG
- 프로그래머스
- 기지국설치
- 삼성기출
- dp
- react
- 17406 배열돌리기4
- Python
- 20057 마법사 상어와 토네이도
- 2579 계단오르기
- 영어끝말잇기
- swea
- 삼성코테
- BFS
- 파이썬
- 알고리즘
- 백준
- dfs
- 브루트포스
- merge에러
- 21609 상어 중학교
- 20056 마법사 상어와 파이어볼
- 2018 카카오 공채
- git 미러링
- 보석쇼핑
- merge 에러
최근에 올라온 글
- Total
- Today
- Yesterday
최근에 달린 댓글