PS/프로그래머스
[JS][DFS]모음사전
returnzero
2022. 7. 22. 14:11
function solution(word) {
var answer = 0;
let words=['A','E','I','O','U'];
let counter =0;
function dfs (current){
if(current===word){
answer=counter;
return;};
if(current.length==5){
return;
}
for(let i=0; i<words.length;i++){
if(current.length<5){
counter++;
// console.log(current+words[i],counter)
dfs(current+words[i]);
current.substring(0,current.length-1);
}
}
}
dfs("");
return answer;
}
DFS는? 재귀로 짜는게 답이다. 다만, 재귀를 선언하기 이전에 실행했던 execution, current+words[i] 같은 것들을 되돌릴 수 있는 execution을 실행해줘야 한다는 것을 잊지 말자.
substring(0,current.length-1) 을 수행하게 되면 string 에서 마지막 char을 날릴 수 있게 된다.