본문 바로가기

알고리즘 공부/프로그래머스 > Python3

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

https://programmers.co.kr/learn/courses/30/lessons/12909

 

코딩테스트 연습 - 올바른 괄호

괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 ()() 또는 (())() 는 올바른 괄호입니다. )()( 또는 (()( 는 올바르지 않은 괄호

programmers.co.kr

 

[정답]

 

1. 문자열을 돌면서 '('이면 count에 +1을 해주고, ')'이면 count에 -1을 해준다.

2. for문 루프를 돌면서 만약 count==-1가 된다면, ')'가 하나 더 있는 경우이므로, 이미 올바르지 않은 괄호이므로 answer=False로 해준다. ex) '())'

3. for문 루프가 끝나고, count!=0이라면 '('와 ')'의 개수가 안 맞을 경우이므로, answer=False를 해준다. ex) '(()('