[JS] 자릿 수 더하기 programmers

0

코딩테스트

목록 보기
16/80
post-thumbnail

🎀 문제

정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요

function solution(n) {
    var answer = 0;
    return answer;
}

입출력 예시

  • n = 1234
    return 10
  • n = 930211
    return 15

🎀 내 답변

function solution(n) {
    var answer = String(n).split("").map((numbers) => Number(numbers));
    return answer.reduce((acc, curr) => acc + curr);
}
  1. n을 문자열로 변경한다.
  2. 한 문자씩 split("")하여 배열에 담아주었다.
  3. 배열 속 인자들 (numbers)를 하나씩 숫자로 변경해 준다.
  4. reduce 메서드를 활용하여 하나씩 더해준 값을 return 한다.
  5. n이 1234일때, 1 + 2 + 3 + 4 = 10을 return하게 된다.

🎀 더 나은 답변

function solution(n) {
  return n
    .toString()
    .split("")
    .reduce((acc, cur) => acc + Number(cur), 0);
}
  1. n을 toString()으로 문자열로 변경
  2. split("")을 사용하여 한 문자씩 배열에 넣는다.
  3. reduce할 때 현재 숫자를 Number()로 변경하여 더한다.
  4. 더해진 값 return

어마어마하다 진짜;;;

profile
일단 해. 그리고 잘 되면 잘 된 거, 잘 못되면 그냥 해본 거!

0개의 댓글