programmers/level1
[level1] - 자릿수 더하기
태기의삶
2020. 6. 26. 10:20
코딩테스트 연습 - 자릿수 더하기
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출
programmers.co.kr
문제 설명 :
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를 들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
입력 및 출력 :
1 + 2 + 3 = 6이므로 6을 return 하면 됩니다.
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.
접근 방법 :
123이라는 정수를 인자로 받았을 때, 이 숫자를 모두 더하기 위해서는 분리를 시켜야겠다는 생각에 먼저 String()을 활용해 Number 타입 -> String 타입으로 형 변환을 시키고, split()을 통해서 각각의 수를 나눠서 값을 [1, 2, 3] 만들었다.
여기서 forEach()문을 통해서 각각 하나의 값들을 꺼내서, answer이라는 변수에 계속 더해주었다.
단 이때, 배열 안에 수는 현재 String 타입이기 때문에 Number 타입으로 형 변환을 해주고 더해주어야 한다.
코드 :
function solution(n)
{
var answer = 0;
String(n).split('').forEach(ch => {
answer += Number(ch);
})
return answer;
}