본문 바로가기
Algorithm/Programmers

[코딩테스트 연습] 올바른 괄호의 갯수

by BAYABA 2020. 7. 24.

 

문제: https://programmers.co.kr/learn/courses/30/lessons/12929?language=cpp


재귀문제입니다.

 

올바른 괄호의 조건은 크게 두 가지 입니다.

 

1. ( ) 쌍의 갯수가 맞아야 한다.

2. '(' 괄호가 ')' 보다 먼저 나와야 합니다. 즉, 사용할 '(' 괄호가 없을 때 ')' 괄호가 나오면 안된다는 뜻입니다.

 

괄호를 만드는 재귀함수는 2가지 케이스로 뻗어나갑니다.

 

case1. 현재 깊이에서 + '(' 괄호 더하기

case2. 현재 깊이에서 + ')' 괄호 더하기

 

재귀함수이므로 기저 사례를 잘 적용해주고, 조건에 맞을 때만 호출할 수 있도록 함수를 작성하면 됩니다.


코드: https://github.com/cottory/algorithm/blob/master/PROGRAMMERS/PG12929.cc