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;
}