Algorithm - 자릿수 더하기

devmoonsh·2020년 12월 29일
0

Algorithm

목록 보기
26/37
post-thumbnail

**프로그래머스 Lv.1 **

문제 설명

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

제한사항

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

|입출력|예|
|:----------|:----------|
|N|answer
123| 6
987| 24

입출력 예 설명

입출력 예 #1
문제의 예시와 같습니다.

입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.

나의 풀이

function solution(n) {
   let result = 0;
   const adder = n.toString().split('').forEach((el) => {
     result += Number(el);
   });
   return result;
}
  1. 우선 최종적으로 출력할 변수 result 값을 0으로 할당한다.
  2. adder라는 상수를 만드는데 숫자 n을 인자로 받아 문자화(toString) => 배열화(split) => 반복하면서 result에 숫자를 더해나가기(forEach, Number)
  3. result 출력

다른 사람의 풀이

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

숫자와 문자열을 더하면 문자열이 되는 속성을 이용했고 reduce 함수를 적용하여 좀 더 간결하게 작성되었다.
여기서 또 나의 코드와 다른 점은 Number가 아닌 parseInt 메서드를 사용했다는 점인데,
두 메서드의 차이점은 아래 링크에 잘 설명되어 있다.

parseInt()함수와 Number()함수의 차이

profile
Junior front-end developer

0개의 댓글