function solution(word) {
const words = gererateAllWords();
return words.indexOf(word) + 1;
}
function gererateAllWords() {
const letters = ['A', 'E', 'I', 'O', 'U'];
const LEN = letters.length;
const words = [];
for(let i = 0; i < LEN; i++) {
words.push(letters[i]);
for(let j = 0; j < LEN; j++) {
words.push(letters[i] + letters[j]);
for(let k = 0; k < LEN; k++) {
words.push(letters[i] + letters[j] + letters[k]);
for(let l = 0; l < LEN; l++) {
words.push(letters[i] + letters[j] + letters[k] + letters[l]);
for(let m = 0; m < LEN; m++) {
words.push(letters[i] + letters[j] + letters[k] + letters[l] + letters[m]);
}
}
}
}
}
return words;
}
function solution(word) {
const words = gererateAllWords();
let w = 0;
for(let i = 0; i < word.length; i++) {
w += weights[word[i]] * Math.pow(10, 4 - i);
}
return words.indexOf(w) + 1;
}
const weights = {
'A': 1,
'E': 2,
'I': 3,
"O": 4,
'U': 5
}
function gererateAllWords() {
const letters = ['A', 'E', 'I', 'O', 'U'];
const LEN = letters.length;
const words = [];
let curW = 0;
for(let i = 0; i < LEN; i++) {
curW += (weights[letters[i]] * Math.pow(10, 4));
words.push(curW);
for(let j = 0; j < LEN; j++) {
curW += (weights[letters[j]] * Math.pow(10, 3));
words.push(curW);
for(let k = 0; k < LEN; k++) {
curW += (weights[letters[k]] * Math.pow(10, 2));
words.push(curW);
for(let l = 0; l < LEN; l++) {
curW += (weights[letters[l]] * Math.pow(10, 1));
words.push(curW);
for(let m = 0; m < LEN; m++) {
curW += weights[letters[m]];
words.push(curW);
curW -= weights[letters[m]];
}
curW -= (weights[letters[l]] * Math.pow(10, 1));
}
curW -= (weights[letters[k]] * Math.pow(10, 2));
}
curW -= (weights[letters[j]] * Math.pow(10, 3));
}
curW -= (weights[letters[i]] * Math.pow(10, 4));
}
return words;
}
테스트 1 〉 통과 (0.88ms, 34MB)
테스트 2 〉 통과 (0.80ms, 33.9MB)
테스트 3 〉 통과 (0.79ms, 34MB)
테스트 4 〉 통과 (0.81ms, 33.9MB)
테스트 5 〉 통과 (0.78ms, 34MB)
테스트 6 〉 통과 (0.78ms, 34MB)
테스트 7 〉 통과 (0.80ms, 33.9MB)
테스트 8 〉 통과 (0.84ms, 34MB)
테스트 9 〉 통과 (0.79ms, 33.9MB)
테스트 10 〉 통과 (0.84ms, 33.9MB)
테스트 11 〉 통과 (1.38ms, 34.1MB)
테스트 12 〉 통과 (1.12ms, 34MB)
테스트 1 〉 통과 (1.16ms, 33.7MB)
테스트 2 〉 통과 (0.64ms, 33.6MB)
테스트 3 〉 통과 (1.00ms, 33.6MB)
테스트 4 〉 통과 (1.20ms, 33.6MB)
테스트 5 〉 통과 (0.64ms, 33.8MB)
테스트 6 〉 통과 (0.68ms, 33.7MB)
테스트 7 〉 통과 (0.68ms, 33.7MB)
테스트 8 〉 통과 (0.65ms, 33.6MB)
테스트 9 〉 통과 (0.71ms, 33.5MB)
테스트 10 〉 통과 (0.64ms, 33.6MB)
테스트 11 〉 통과 (0.64ms, 33.6MB)
테스트 12 〉 통과 (0.69ms, 33.6MB)
테스트 13 〉 통과 (0.65ms, 33.6MB)
테스트 14 〉 통과 (0.64ms, 33.7MB)
테스트 15 〉 통과 (0.70ms, 33.6MB)
테스트 16 〉 통과 (0.64ms, 33.6MB)
테스트 17 〉 통과 (0.65ms, 33.6MB)
테스트 18 〉 통과 (0.62ms, 33.8MB)
테스트 19 〉 통과 (0.65ms, 33.7MB)
테스트 20 〉 통과 (1.08ms, 33.6MB)
테스트 21 〉 통과 (1.16ms, 33.6MB)
테스트 22 〉 통과 (0.64ms, 33.6MB)
테스트 23 〉 통과 (0.65ms, 33.7MB)
테스트 24 〉 통과 (0.64ms, 33.7MB)
테스트 25 〉 통과 (0.63ms, 33.6MB)
테스트 26 〉 통과 (0.64ms, 33.6MB)
테스트 27 〉 통과 (0.71ms, 33.7MB)
테스트 28 〉 통과 (0.64ms, 33.7MB)
테스트 29 〉 통과 (0.69ms, 33.6MB)
테스트 30 〉 통과 (0.81ms, 33.7MB)
테스트 31 〉 통과 (0.70ms, 33.7MB)
테스트 32 〉 통과 (0.64ms, 33.6MB)
테스트 33 〉 통과 (0.71ms, 33.6MB)
테스트 34 〉 통과 (0.65ms, 33.8MB)
테스트 35 〉 통과 (0.79ms, 33.6MB)
테스트 36 〉 통과 (0.77ms, 33.3MB)
테스트 37 〉 통과 (0.67ms, 33.7MB)
테스트 38 〉 통과 (0.71ms, 33.6MB)
테스트 39 〉 통과 (0.68ms, 33.6MB)
테스트 40 〉 통과 (0.64ms, 33.7MB)