문제: 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
'Algorithm > Programmers' 카테고리의 다른 글
[2020 카카오 인턴십] 키패드 누르기 (0) | 2020.07.25 |
---|---|
[코딩테스트 연습] 징검다리 (0) | 2020.07.24 |
[코딩테스트 연습] 2 x n 타일링 (0) | 2020.07.22 |
[코딩테스트 연습] 정수 삼각형 (0) | 2020.07.21 |
[코딩테스트 연습] 베스트 앨범 (0) | 2020.07.14 |