문제 설명
자연수 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 |