티스토리 뷰
프로그래머스 :: 자릿수 더하기 (JS)
문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한사항
· N의 범위 : 100,000,000 이하의 자연수
입출력 예
N answer 123 6 987 24
입출력 예 #1문제의 예시와 같습니다.
입출력 예 #29 + 8 + 7 = 24이므로 24를 return 하면 됩니다.
문제 풀이
function solution(n, sum = 0) { const Arr = String(n).split('').map(Number); Arr.forEach(num => { sum += num; }) return sum; }
- Arr 배열에 n 의 각 자릿수를 넣어주고, map 함수를 이용하여 숫자로 변환하였다.
- forEach 함수를 화살표 함수로 이용하여 각 자릿수를 더해주고, 리턴하였다.
다른 사람의 문제 풀이
function solution(n) { var a = (n + '').split(''); var b = 0; for(var i = 0; i < a.length; ++i) { b += parseInt(a[i]); } return b; //return n.toString().split('').reduce((a, b) => (a * 1) + (b * 1)); }
- 개인적으로 알아보기 편하다고 느꼈던 코드이다.
- n 을 문자로 변환하기 위해 공백을 더해주는 모습이 인상깊다.
- parseInt() 함수는 문자열 인자를 파싱하여 정수나 NaN을 반환한다.
- for 문을 이용하여 b 라는 변수에 각 자릿수를 더해주고 b 를 return 한다.
- reduce 함수는 배열을 순회하면서 각 요소를 더한 값을 반환한다.
'JAVA SCRIPT > 코딩테스트' 카테고리의 다른 글
프로그래머스 :: K번째수 (JS) (2) | 2023.12.06 |
---|---|
프로그래머스 :: 두 개 뽑아서 더하기 (JS) (2) | 2023.12.06 |
프로그래머스 :: 두 정수 사이의 합 (JS) (2) | 2023.12.05 |
프로그래머스 :: 가운데 글자 가져오기 (JS) (1) | 2023.12.05 |
프로그래머스 :: 문자열 내림차순으로 배치하기 (JS) (2) | 2023.12.05 |