0%

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

프로그래머스 - 연습 문제

풀이과정

  • ‘(‘ 면 count를 1 증가시키고 ‘)’면 1을 감소시킨다.
  • 만약 count가 0보다 작으면 중간에 ‘)’이 나온 경우이니 반복문을 멈춘다.
  • count가 0인 경우에는 올바른 괄호이니 true 반환.
  • count가 0이 아니고, 시작이 ‘)’이거나 끝이 ‘(‘라면 올바른 괄호가 아니니 false 반환.

Code (Python)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
def solution(s):
count = 0;

for string in s:
if string == '(':
count += 1
else:
count -= 1
if count < 0:
break
if count != 0 or s[0] == ')' or s[len(s) - 1] == '(':
return False
else:
return True

어디서 많이 봤던 문제다 했더니 백준 괄호랑 똑같은 문제였네… 그때는 왜 이렇게 힘들게 풀었을까.