괄호 변환 자바스크립트

HyosikPark·2020년 11월 22일
0

알고리즘

목록 보기
32/72
function solution(p) {
    if(p === '') return '';
    let answer = '';
    let open = 0;
    let close = 0;
    let checkCorrect = true;
    
    for(let i = 0; i < p.length; i++) {
        p.slice(i,i+1) == '(' ? open++ : close++
        
        if(close > open) checkCorrect = false
        
        if(open === close) {
            
            if(checkCorrect) {
                answer += p.slice(0,i+1);
                answer += solution(p.slice(i+1));
                return answer;
            } else {
                
                answer += `(${solution(p.slice(i+1))})`;
                
                for (let j = 1; j < i; j++) {
                  answer += p[j] == '(' ? ')' : '(';
                }
                
                return answer;
                
            }
        }
    }
}

참고

https://velog.io/@kimtaeeeny/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EA%B4%84%ED%98%B8-%EB%B3%80%ED%99%98-javascript-2020%EC%B9%B4%EC%B9%B4%EC%98%A4%EA%B3%B5%EC%B1%84

0개의 댓글