정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요
function solution(n) {
let str = String(n)
let numFn = arg => Number(arg)
let num = [...str].map(numFn)
return num.reduce((a,c)=>a+c);
}
숫자를 문자열로 바꾸고 이를 스프레드 문법으로 배열에 담은 다음에
다시 그 문자열을 하나씩 숫자로 바꿔서 계산하였다
function solution(n) {
return n
.toString()
.split("")
.reduce((acc, cur) => acc + Number(cur), 0);
}
이렇게 숫자를 문자열로 바꿔 배열에 담을 수 있고
마지막에 .reduce() 누적값을 계산할 때 숫자형으로 바꿔주는 방법도 있다는 것도 생각하게 되었다
'오늘 뭐했냐 > 기억하면 좋을 문제들' 카테고리의 다른 글
배열 복사, indexOf (0) | 2023.06.13 |
---|---|
숨어있는 숫자의 덧셈 (1) (0) | 2023.05.31 |
배열의 유사도 - .filter() / .includes() 활용 복습 및 Set형 활용 (0) | 2023.05.30 |
짝수는 싫어요 - Array.from() 활용 (0) | 2023.05.30 |
배열 원소의 길이 - .map()활용 (0) | 2023.05.29 |