
function solution(hp) {
let count = 0;
let sum = hp;
while(0 < sum) {
if(sum >= 5) {
sum -= 5;
count++;
} else if(sum >= 3) {
sum -= 3;
count++;
} else {
sum -= 1;
count++;
}
}
return count;
}
function solution(letter) {
const morse = {
'.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f',
'--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l',
'--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r',
'...':'s','-':'t','..-':'u','...-':'v','.--':'w','-..-':'x',
'-.--':'y','--..':'z'
}
let result = '';
const letterSplit = letter.split(' ');
letterSplit.forEach(word => {
result += morse[word];
});
return result;
}
✅ reduce로 풀기
function solution(letter) {
const morse = {
'.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f',
'--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l',
'--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r',
'...':'s','-':'t','..-':'u','...-':'v','.--':'w','-..-':'x',
'-.--':'y','--..':'z'
}
const letterSplit = letter.split(' ');
return letterSplit.reduce((acc, cur) => acc += morse[cur], '');
}
✅ forEach
function solution(rsp) {
let result = "";
[...rsp].forEach(item => {
if(item === "0") {
result += "5";
} else if (item === "2") {
result += "0";
} else {
result += "2";
}
});
return result;
}
✅ reduce
function solution(rsp) {
return [...rsp].reduce((acc, cur) => {
if (cur === "0") return acc += "5";
if (cur === "2") return acc += "0";
if (cur === "5") return acc += "2";
}, '');
}
✅ 객체 사용하기
function solution(rsp) {
const rspObj = {
2: 0,
0: 5,
5: 2
};
return [...rsp].reduce((acc, cur) => acc + rspObj[cur], '')
}
function solution(balls, share) {
if(balls === share) return 1;
const factorial = (n) => {
return (n != 1) ? n * factorial(n - 1) : 1;
}
const n = factorial(balls);
const m = factorial(share);
const nm = factorial(balls - share);
return Math.round(n / (nm * m));
}