프로그래머스 - 올바른 괄호

오늘의 문제

프로그래머스 > 연습문제 > 올바른 괄호

’(‘ 또는 ‘)’ 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요.

조건

  1. 문자열 s의 길이 : 100,000 이하의 자연수
  2. 문자열 s는 ‘(‘ 또는 ‘)’ 로만 이루어져 있습니다.

풀이 방법

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
def solution(s):
    stack = list()

    for i in s:
        if i == '(':
            stack.append(i)
        if i == ')':
            try:
                stack.pop()
            except:
                 return False


    return False if len(stack) > 0 else True
#     length_s = len(s)

#     for _ in range(length_s):
#         s = s.replace('()', '')

#     return False if len(s) > 0 else True

사담

처음엔 replace를 해서 오지게 돌려줬는데… 답은 다 맞았음에도 시간 초과였다… 쳇