문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
- N의 범위 : 100,000,000 이하의 자연수
입출력 예Nanswer
123 | 6 |
987 | 24 |
입출력 예 #1
문제의 예시와 같습니다.
입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.
문제 풀이 1
function solution(n) {
var answer = 0;
//숫자 문자로 변환
var nStr = n.toString()
//console.log(nStr)
//문자를 배열로 변환
var nStr_arr = nStr.split('')
//배열의 요소를 숫자로 변환
var nStr_arr_number = nStr_arr.map(str => Number(str))
//console.log(nStr_arr_number)
//answer 에 자리수 숫자를 더하는 reduce 문
return nStr_arr_number.reduce((acc, cur) => acc + cur, 0);
}
문제 풀이 2
- 숫자를 문자로 변환하는 방법 : toString() / String() / Template String (템플릿 문자열) / 빈 문자열 이어붙이기
- 문자를 배열로 변환하는 방법 : split()
- 배열의 요소를 정수로 변환 : parseInt()
- 변수에 숫자를 더하는 방법 : +=(대입 연산자)
var n = 12345
function solution(n) {
var answer = 0;
//숫자 문자로 변환
//문자를 배열로 변환
//배열의 요소를 정수로 변환하면서 answer 에 더해주는 map 함수 돌려줌
n.toString().split('').map(str => answer += parseInt(str))
return answer;
}
console.log(solution(n))
'코딩 테스트 Coding Test > 프로그래머스 Programmers' 카테고리의 다른 글
[프로그래머스] LEVEL 1_문자열 내 P와 y의 개수 - 자바스크립트 (0) | 2022.03.15 |
---|---|
[프로그래머스] LEVEL 1_ 나누어 떨어지는 숫자 배열 - 자바스크립트 (0) | 2022.03.15 |
[프로그래머스] LEVEL 1_완주하지 못한 선수 - 자바스크립트 (0) | 2022.03.14 |
[프로그래머스] LEVEL 1_ 콜라츠 추측 - 자바스크립트 (0) | 2022.03.13 |
[프로그래머스] LEVEL 1_ 정수 내림차순으로 배치하기 (0) | 2022.03.12 |
댓글