function solution(hp) {
return parseInt(hp / 5) + parseInt(hp % 5 / 3) + parseInt(hp % 5 % 3)
}
function solution(letter) {
let 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'
}
return letter.split(" ").map(n=> morse[n]).join('')
}
⭐️ split("")와 split(" ")의 차이점
split("")는 한 글자씩 따옴표로 나눠주고, split(" ")는 공백을 기준으로 따옴표로 나눠준다.
ex)
"abc bc dt".split("") -> ["a","b","c","b","c","d","t"]
"abc bc dt".split(" ") -> ["abc","bc","dt"]
조건문으로 풀어도 되겠지만, 숫자끼리 짝이 지어진다는 것을 이용해 객체를 이용하는 방법을 생각해보았다.(좋은 아이디어였다!!)
function solution(rsp) {
var answer = '';
let obj = {
"2" : 0,
"0" : 5,
"5" : 2
}
return answer += rsp.split('').map(n => obj[n]).join('');
}
팩토리얼 구하기 -> 함수와 반복문을 이용 !
function solution(balls, share) {
function factorial(n) {
var result = 1;
for(var i=2; i<=n; i++) result *= i;
return result;
}
if(balls === share){
return 1;
}else{
return Math.round(factorial(balls) / (factorial(balls-share) * factorial (share)));
}
}
재귀함수를 이용한 풀이
const 팩토리얼 = (num) => num === 0 ? 1 : num * 팩토리얼(num - 1)
function solution(balls, share) {
return Math.round(팩토리얼(balls) / 팩토리얼(balls - share) / 팩토리얼(share))
}
참고) Math.round를 사용하는 이유
숫자 연산중 오류가 발생할 수 있기 때문.
https://joooing.tistory.com/entry/Javascript-%EC%86%8C%EC%88%98%EC%A0%90floating-point-%EA%B3%84%EC%82%B0-%EC%98%A4%EB%A5%98