https://school.programmers.co.kr/learn/courses/30/lessons/12909
<내 풀이>
def solution(s):
stack, s_list = 0, list(s)
for i in range(len(s_list)):
if s_list[i] == '(': stack += 1
elif s_list[i] == ')' and stack: stack -= 1
else: return False
if stack: return False
else: return True
클래식한 괄호스택문제 list에 접근해서 stack을 쌓았음
<정해풀이 - GPT선생님>
def solution(s):
stack = []
for char in s:
if char == '(':
stack.append(char)
else:
if not stack:
return False
stack.pop()
return len(stack) == 0
그냥 stack의 list하나 선언해서 element를 추가하거나 빼는방식이 더 깔끔한거 같기도 하다.
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers / Level2] 짝지어 제거하기 (0) | 2024.01.19 |
---|---|
[Programmers / Level2] 피보나치 수 (0) | 2024.01.18 |
[Programmers / Level2] 숫자의 표현 (0) | 2024.01.17 |
[Programmers / Level2] 이진 변환 반복하기 (0) | 2024.01.16 |
[Programmers / Level2] JadenCase 문자열 만들기 (0) | 2024.01.14 |