숫자 n이 주어지고 (10진수) base k 가 주어질 때 10진수인 n을 k진수로 바꾼 숫자의 각 자릿수의 합을 리턴하는 문제이다
Example을 보자
1번 예시를 보면 n=34 , k = 6일 때 34를 6진수로 바꾸면 54가되고
54의 각 자릿수인 5 + 4를 하면 9가 되므로 9가 정답이 된다
var sumBase = function(n, k) {
let result = 0;
if(k !== 10) {
const convert = n.toString(k);
const numArr = convert.split('');
numArr.forEach((num) => result += parseInt(num));
}else {
const numArr = String(n).split('');
numArr.forEach((num) => result += parseInt(num));
}
return result
};
일단 만약 k가 10이라면 변환할 필요가 없으므로 주어진 n의 자릿수를 그대로 더하면 된다
k가 10이 아니라면 toString을 이용하여 n을 k진수로 바꿔주고 각 자릿수를 기준으로 쪼개어서 배열에 넣어주었다
그 다음 배열 값들을 더해서 result 변수에 넣어주었다
submit을 해보니
정답이었다!