https://school.programmers.co.kr/learn/courses/30/lessons/12931
문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
- N의 범위 : 100,000,000 이하의 자연수
입출력 예
N | answer |
123 | 6 |
987 | 24 |
입출력 예 설명
입출력 예 #1
문제의 예시와 같습니다.
입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.
나의 문제풀이
주어진 예제 1의 n이 123일때,
123을 toString()을 사용하여 string으로 변환을 시켜준뒤
split()으로 "123"을 [ "1", "2", "3"]으로 변환한다.
배열의 값들을 더해주기 위해 Number로 형변환을 시켜준뒤
reduce()를 사용하여 값들을 더해 줬다.
function solution(n) {
return n.toString().split("").map(Number).reduce((acc,cur,i) => acc += cur,0);
}
다른 풀이
내가 푼 방법과 비슷하며 runtime도 비슷하다.
새로 알게 된것은 n에 ""를 더해줌으로써 n을 string으로 변환 시켰다.
function solution(n) {
return (n+"").split("").reduce((acc, curr) => acc + parseInt(curr), 0)
}
'코딩 문제 > 프로그래머스 [ JavaScript ]' 카테고리의 다른 글
[ 프로그래머스 / JavaScript ] 평균 구하기 (0) | 2022.09.20 |
---|---|
[ 프로그래머스 / JavaScript ] 정수 내림차순으로 배치하기 (1) | 2022.09.19 |
[ 프로그래머스 / JavaScript ] 짝수와 홀수 (0) | 2022.09.19 |
[ 프로그래머스 / JavaScript ] 같은 숫자는 싫어 (0) | 2022.09.19 |
[ 프로그래머스 / JavaScript ] 최소직사각형 (0) | 2022.09.18 |
댓글