티스토리 뷰
728x90
https://programmers.co.kr/learn/courses/30/lessons/12909
- 해설 :
괄호로 이루어진 문자열이 주어질 때, 이 문자열이 올바른 괄호 문자열인지 판단하는 문제이다.
- 풀이 :
stack을 사용하는 가장 대표적인 문제라고 할 수 있다. stack에 괄호를 하나씩 넣으면서 짝이 맞으면 꺼내고 아니면 넣는다. 마지막에 stack에 원소가 있다면 올바르지 않고 없다면 올바른 괄호이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
def solution(s):
stack = [s[0]]
for i in s[1:]:
if stack:
if i == ")":
if stack[-1] == "(":
stack.pop()
else:
return False
else:
stack.append(i)
else:
stack.append(i)
return False if stack else True
|
cs |
320x100
'Algorithm > Data Structure' 카테고리의 다른 글
(Python) - BOJ(1158번) : 요세푸스 문제 (0) | 2022.01.25 |
---|---|
(Python) - BOJ(1021번) : 회전하는 큐 (0) | 2022.01.24 |
(Python) - 프로그래머스(2018 KAKAO BLIND RECRUITMENT) : [1차] 캐시 (0) | 2022.01.21 |
(Python) - 프로그래머스 : 짝지어 제거하기 (0) | 2022.01.18 |
(Python) - 프로그래머스 : 더 맵게 (0) | 2022.01.18 |
댓글
© 2022 WonSeok, All rights reserved