문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한사항
- N의 범위 : 100,000,000 이하의 자연수
입출력 예
N | answer |
123 | 6 |
987 | 24 |
풀이 과정
내가 작성한 코드
숫자 상태 변환 안하고 그대로 계산했음
function solution(n)
{
const divisor = 10;
let answer = 0;
while(n > 0) {
answer += n % divisor;
n = Math.floor(n / divisor);
}
return answer;
}
다른 사람 코드
숫자를 문자열로 변환한 후에 자릿수 계산함
function solution(n){
return (n+"").split("").reduce((acc, curr) => acc + parseInt(curr), 0)
}
❗️시간 복잡도는 숫자로 풀었을 때가 더 적음
'알고리즘 > 프로그래머스 문제풀이' 카테고리의 다른 글
[프로그래머스 LEVEL1] 정수 내림차순으로 배치하기 / Javascript (0) | 2022.02.06 |
---|---|
[프로그래머스 LEVEL1] 자연수 뒤집어 배열로 만들기 / Javascript (0) | 2022.02.06 |
[프로그래머스 LEVEL1] 이상한 문자 만들기 / Javascript (0) | 2022.02.06 |
[프로그래머스 LEVEL1] 약수의 합 / Javascript (0) | 2022.02.06 |
[프로그래머스 LEVEL1] 시저 암호 / Javascript (0) | 2022.02.06 |