자연수 n의 각 자리 숫자를 뒤집은 순서로 더해 출력하는 수식을 리턴해주세요. 예를들어 n이 12345이면 "5+4+3+2+1=15" 라는 문자열을 리턴합니다.
let n = 718253
//지정값 n을 두고
function solution(n){
let numbers=n.toString().split('').map((str)=>Number(str)).reverse();
// n을 string함수 사용해 문자열로 바꿔 주고 split함수로 문자열을 나눠 준 후 map함수로 문자열을 숫자로 바꾼후 reverse함수를 사용해 배열의 순서를 변환했다 이것을 numbers 라고 지정했다
let sum= numbers.reduce((total,val) => total+val,0);
// 총 합을 도출하기 위해 reduce 함수를 사용했다
return numbers.join('+')+"="+sum;
}
// 받은 numbers 값과 배열 사이마다 +를 넣기 위해 join함수를 사용해 넣어주고 = 과 sum값ㅇ르 넣어준다
console.log(solution(n))
.reduce()
배열의 각 요소를 순회하며 callback함수의 실행 값을 누적하여 하나의 결과값을 반환 합니다.
설명
const sum1 = numbers.reduce((accumulator, currentNumber) => accumulator + currentNumber);
const sum2 = numbers.reduce((total,val)=>total+val,0);
total 값에 val 값이 서로 더해지면서 총 합을 구한다
total 값의 초기값은 0으로
0 + 첫 value 3 = 3 다음
total 값 3 + 다음 value 값 5 = 8
이렇게 값을 쌓아가는 형식이다.