자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
N | answer |
---|---|
123 | 6 |
987 | 24 |
입출력 예 #1
문제의 예시와 같습니다.
입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.
const solution = (N) =>
String(N).split("").reduce((acc, curr) => acc + Number(curr),0);
/*
내가 처음 작성한 코드이다.
1. 매개변수로 받아오는 N은 number type이므로 먼저 String으로 변환 후 split 메서드를 사용하여
각 stirng을 분리시킨 배열로 만들어준다.
2. reduce를 사용하여 다 더해준 값을 return 해준다.
(이때, curr은 string type이기 때문에 Number로 변환 후 더해준다.)
*/
const solution = (N) => {
const arrayStrN = N.toString().split("");
let result = 0;
for(let i = 0; i < arrayStrN.length; i += 1) {
result += +arrayStrN[i]
}
return result;
}
/*
for문을 사용하여 명령형으로 코드를 작성해 보았다.
1. arrayStrN 변수에는 N을 string으로 변환해주는 toString을 한 후 split을 통해 각 string을
분리시킨 배열을 담아준다.
2. result에 0이 담긴 변수를 만들어준다.
2. for문을 이용하여 i가 0부터 arrayStrN의 길이(length)만큼 1씩 증가하면서 result 변수에
arrayStrN[i]을 더해서 담아주었다. (이때 arrayStrN의 요소는 string type 이므로 앞에
+를 붙여주어 강제 형변환 시켜준다.)
3. for문이 완전히 종료 후 result를 return 해주었다.
*/