-
백준 4949 - 균형잡힌 세상BOJ-Algorithm 2022. 1. 4. 00:30
https://www.acmicpc.net/problem/4949
4949번: 균형잡힌 세상
하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마
www.acmicpc.net
ans = [] while True: text = input() if text=='.': break stack = [] flag = "yes" for word in text: if word=='(' or word=='[': stack.append(word) elif word==')': if not stack: flag="no" break if stack[-1]=='(': stack.pop(-1) else: flag="no" break elif word==']': if not stack: flag="no" break elif stack[-1]=='[': stack.pop(-1) else: flag="no" break elif word=='.': break if stack: flag="no" ans.append(flag) for word in ans: print(word)
이전의 괄호 문제의 업그레이드 버전이다.
괄호가 하나 추가된 것 말고는 별 차이는 없다.
여전히 체크해야 하는건
-')' 나 ']'가 입력되었을 때
1. stack에 값이 있는지 체크
2. stack[-1]이 적절한 괄호인지 체크
- 반복문이 끝났을 때
1. stack에 값이 있는지 체크
하는 것이 중요하다.
'BOJ-Algorithm' 카테고리의 다른 글
백준 1676 - 팩토리얼 0의 개수 (0) 2022.01.09 백준 1065번 - 한수 (0) 2022.01.09 백준 10773 - 제로 (0) 2022.01.04 백준 9102번 - 괄호 (0) 2022.01.03 백준 1769번 - 3의 배수 (0) 2022.01.03