본문 바로가기
Algorithm

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

by 랩린안 2022. 9. 19.
/*
문제 : 자연수 N이 주어지면, N의 각 자릿수의 합을 구하라
자료 : 자연수 n
계획 : 
숫자를 배열로 만들어줘서 for문을 돌려 값들을 모두 합한다.
숫자를 배열로 만들려면 string 단계를 한 번 거친다.
숫자를 문자열로 만들기 위해 String() 를 이용한다.
*/

const solution = (n) => {
  return String(n)
    .split('') //split() 함수를 사용하여 문자열을 잘라서 배열로 리턴받습니다.
    .reduce((acc, cur) => acc + Number(cur), 0); // reduce를 이용해배열 원소들의 전체 합을 구함
};

 

아직 split()과 reduce() 가 익숙하지 않아 찾아보고하는데

얼른 많이 익혀봐서 찾아보지않아도 나오게끔 잘 해야겠다.

 

function solution(n){
    // 숫자풀이
    var sum = 0;

    do {
        sum += n%10;
        n = Math.floor(n/10);
    } while(n > 0);

    return sum;
}

다른 사람의 풀이. 

문자열과 배열로 변환하지않고 오직 숫자로 풀었다.

어떻게 이런 생각을 할수 있는지 신기하다.