Skip to content

Commit 2b586c5

Browse files
committed
문제 해결
1 parent 5b278e6 commit 2b586c5

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

위클리 챌린지/5주차.js

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
const MAX = 5;
2+
3+
const alphabet = ['A', 'E', 'I', 'O', 'U'];
4+
const selected = [];
5+
const selectedCheck = new Array(MAX).fill(false);
6+
let result = 0;
7+
let flag = false;
8+
9+
const solution = word => {
10+
dfs(0, word);
11+
12+
return result;
13+
}
14+
15+
const dfs = (cnt, word) => {
16+
if(selected.join('') === word) {
17+
flag = true;
18+
return;
19+
}
20+
21+
if(cnt <= MAX && !flag) {
22+
result++;
23+
24+
for(let i = 0; i < MAX; i++) {
25+
selected.push(alphabet[i]);
26+
dfs(cnt + 1, word);
27+
selected.pop();
28+
}
29+
}
30+
}
31+
32+
const word = "AAAE";
33+
34+
console.log(solution(word));
35+
36+
37+
// 객체를 활용한 다른 풀이 방법
38+
// let res = {};
39+
// let idx = 0;
40+
// let arr = ["A", "E", "I", "O", "U"];
41+
42+
// const dfs = (now, cnt) => {
43+
// if(cnt>5) return;
44+
// res[now] = idx++;
45+
// for(let i=0; i<5; i++){
46+
// let next = now + arr[i];
47+
// dfs(next, cnt+1);
48+
// }
49+
// }
50+
51+
// function solution(word) {
52+
// dfs("", 0);
53+
// return res[word];
54+
// }

0 commit comments

Comments
 (0)