[Python] 프로그래머스 Level 2 올바른 괄호

지애·2024년 6월 28일
1

코딩테스트

목록 보기
11/12

point
스택을 이용하면 좋은 문제

생각의 흐름

  • ' ( ' 가 나올 때마다 stack에 push를 하고, 그 짝인 ' ) ' 가 나올 때 stack에서 pop을 하는 방법을 쓰면 된다.
  • 이때, pop을 정상적으로 할 수 없거나, 주어진 괄호를 모두 썼음에도 stack이 비어있지 않는 경우 잘못된 괄호라고 보고 False를 return 한다.

풀이

def solution(s):
    stack = []
    
    for i in s:
        if i == '(':
            stack.append(i)
        else:
            if stack:
                stack.pop()
            else:
                return False
    
    if stack:
        return False
    else:
        return True

다른 사람 풀이 보고 배운 점

    if stack:
        return False
    else:
        return True

이 부분을

return len(stack) == 0

이라고 작성해도 깔끔할 것 같다!

profile
차근차근

0개의 댓글