코딩/Javascript

Javascript Algorithm #10 - 자릿수 더하기

AMD만세 2022. 1. 18. 19:17

1. 프로그래머스 - 자릿수 더하기

 

1) 문제

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

 

2) 제한사항

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

 

3) 입출력 예

N answer
123 6
987 24

 

4) 내가 짠 코드

function solution(n)
{
var answer = 0;
var N;
String(N)=[''];
String(N).slice(0,1,2);
 

// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
console.log('Hello Javascript')

return answer;
}
 
-> String 타이핑 있는 사이에 접근방향조차 잘못되었다는 생각이 듦.

 

5) 다른사람 코드

function solution(n) {
    let answer = 0;
        
    while(n){
      answer += (n%10);

// 10으로 나눈 나머지는 각 자릿수 자연수가 됨.
      n = Math.floor(n/10);
    }
// Math.floor(): 소수점 이하 숫자 버림

// 123을 예로 들자. 일의 자리부터 하나하나 분리시킨다고 생각하면 쉬움.

// While 문 돌림. 맨 처음 값은 몫:12 나머지가 3임. 3 더해지고 12.3이니까  (Math.floor에 의해)3없어짐.

// 이후 몫: 1 나머지:2. 2 더해지고 1.2이니까 2 없어짐. (이대로 1까지 반복)
    return  answer;
}
[출처] [자바스크립트 알고리즘] 자릿수 더하기 (프로그래머스)|작성자 TSBrain

https://blog.naver.com/inb7902/222436164981