[algorithm] 백준 9012 - 괄호
안녕하세요. 심심한 코딩쟁이입니다.
오늘은 백준 9012번 문제 - 괄호 의 풀이를 살펴보도록 하겠습니다.
풀이에 사용한 언어는 Python3 입니다.
문제 해석과 풀이 다 함께 살펴보시죠.

백준 BAEKJOON 9012
반응형
문제 해석
문제에서 괄호가 나열된 문자열이 입력값으로 주어지는데 괄호의 열고 닫힘이 올바른 문자열인지를 판단하여
YES, NO로 출력하는 문제입니다.
힌트 : 스택을 이용해보면 어떨가요? 예를 들어 ' ( '를 만났을 때는 PUSH, ' ) '를 만났을 때는 POP
풀이
# 9012 괄호
N = int(input())
for _ in range(N):
stack = []
ps = input()
for p in ps:
if p == '(':
stack.append(p)
elif p == ')':
if stack:
stack.pop()
else:
print("NO")
break
else: # 위 for 문이 문제없이 끝났을 경우
if not stack: # 스택이 비어있으면
print("YES")
else: # 스택이 안 비어있으면
print("NO")
풀이 해석 및 팁
스택을 이용해서 최종적으로 스택에 아무것도 없으면 올바른 괄호 문자열이므로 YES를 출력하고
하나라도 요소가 남아있다면 NO를 출력하면 문제가 해결됩니다.
여기까지 백준 9012번 괄호 문제 풀이였습니다.
이번 문제의 정답률은 45% 정도입니다.
궁금하신 점은 댓글로 남겨주시기 바랍니다.
감사합니다.
반응형
'programming > algorithm' 카테고리의 다른 글
[algorithm] 백준 11047 - 동전 0 (0) | 2023.05.14 |
---|---|
[algorithm] 백준 11279 - 최대 힙 (0) | 2023.05.12 |
[algorithm] 백준 11659 - 구간 합 구하기 4 (0) | 2023.05.10 |
[algorithm] 백준 2630 - 색종이 만들기 (0) | 2023.05.09 |
[algorithm] 백준 10773 - 제로 (0) | 2023.05.07 |