Generate Parentheses

원지렁·2023년 3월 2일
0

알고리즘 정복기

목록 보기
4/12
post-thumbnail

Generate Parentheses

문제

주어지는 n쌍 만큼의 유효한 괄호쌍 '()' 에 대한 경우의 수를 모두 담은 배열을 리턴해야 함

문제의 핵심

  • DFS(Depth For Search)를 활용해야 함
var generateParenthesis = function(n) {
    let answer = [];
    
    function DFS(str, left, right){
        if(str.length === 2*n){
            answer.push(str);
        } else {
            if(left < n){
                DFS(str + '(', left+1, right);
            }
            if(left > right){
                DFS(str + ')', left, right+1);
            }
        }
    }
    
    DFS('',0,0);
    
    return answer;
};
  • 이해를 위한 DFS 알고리즘 도식
profile
새싹 개발자 지렁이의 벨로그입니다.

0개의 댓글