문제

https://programmers.co.kr/learn/courses/30/lessons/12909?language=python3

풀이

’(‘와 ‘)’ 의 갯수부터 맞지 않는다면 탐색할 필요 없이 바로 False를 반환한다.
제한사항과 입출력 예시에서 말하는 올바른 괄호는 우리가 흔히 아는 그 괄호 방식이다.
즉, 단 한 번이라도 ‘)’가 더 먼저 등장하면 잘못된 괄호다.

def solution(s):
    if s.count('(') != s.count(')') : return False
    opend = 0
    for door in s :
        if door == '(' : opend += 1
        else : opend -= 1
        if opend < 0 : return False
        
    return True

Stack을 사용해서 풀어낸 사람이 많았는데, 그냥 정수를 이용해도 똑같다.

댓글남기기