프로그래머스

[1단계] 자리수별 수의 합

chsua 2022. 11. 16. 14:53

문제 설명

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

 

제한사항

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

 

내답안: 문자로 변환 후 숫자로 변환
function solution(n) {
    let answer = 0;
    let strN = String(n) ;
    let lenN = strN.length ;
    for (let i=0;i<lenN;i++){
        numN = strN[i]
        answer += +numN;
    }  
    return answer;
}
// 조언: 문자형이 오래걸리기 때문에 형변환 없이 하는 방법이 더 빠름
조언 후: 일의 자리를 소수점 첫째자리로 내려 더함
function solution(n) {
    let answer = 0 ;
    while (n>0) {
        answer += n%10 ;
        n = Math.floor(n/10)
    }
    return answer;
}

// 나머지를 구하기 위해 [%]를 사용하고 나머지를 버리고[floor] 자리수를 하나 내리고[/10]를 반복[while]

 

'프로그래머스' 카테고리의 다른 글

[1단계] 자연수 뒤집어 배열로 만들기  (0) 2022.11.16
[1단계] 정수 제곱근 판별  (0) 2022.11.16
[1단계] 평균구하기  (0) 2022.11.16
[1단계] 약수의 합  (0) 2022.11.16
[1단계] 짝수와 홀수  (0) 2022.11.16