[프로그래머스 JS] 자릿수 더하기

이얀·2021년 10월 29일
0

알고리즘

목록 보기
13/22

문제 설명

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

제한사항

N의 범위 : 100,000,000 이하의 자연수

풀이

const solution = n => String(n).split('').map(e => Number(e)).reduce((a,b) => a+b);

설명

  1. 배열로 만들어주기 위해 숫자를 문자열로 형변환을 시켜주고 split('')를 한다.
  2. map을 이용해 문자열인 배열 요소들을 숫자로 바꿔준다.
  3. reduce를 이용해 배열의 모든 요소의 합을 구한다.

다른 풀이

map reduce를 같이 쓰는건 비효율적이다.(둘다 반복문) reduce를 한번만 사용해도 구현 가능하다.
reduce((acc, curr) => acc + parseInt(curr), 0)

function solution(n){
    return (n+"").split("").reduce((acc, curr) => acc + parseInt(curr), 0)
}

0개의 댓글