[프로그래머스] 괄호 변환 (javascript, 재귀)
728x90
반응형
괄호 방향을 "뒤집어라"를 reverse()로 오해했는데 ( 을 )로 (를 ) 로 바꾸라는 얘기였다.
function solution(p) {
if(p==='')return p;
let sum=0;
// 2단계
let u="";
let v="";
let right=true;
for(let i=0;i<p.length;i+=1){
if(p[i]=='('){
sum+=1;
u+=p[i];
}else{
sum-=1;
u+=p[i];
if(sum<0)right=false;
}
if(sum===0){
v=p.substring(i+1);
break;
}
}
// 3단계
if(v=="" && right){
return p;
}
if(right){
return u+=solution(v);
}else{
let str="("+solution(v)+")";
u=u.substring(1,u.length-1);
for(let i=0;i<u.length;i+=1){
if(u[i]==='('){
str+=")";
}else str+="(";
}
return str;
}
}
728x90
반응형
'프로그래머스' 카테고리의 다른 글
[프로그래머스] 타겟 넘버 (javascript) (0) | 2021.03.04 |
---|---|
[프로그래머스] 구명보트 (javascript) (0) | 2021.03.03 |
[프로그래머스] 메뉴 리뉴얼 (javascript) (0) | 2021.03.03 |
[프로그래머스] 큰 수 만들기 (javascript, greedy) (0) | 2021.03.02 |
[프로그래머스] 다트 게임 (javascript) (0) | 2021.03.02 |
TAGS.