문제설명
자연서 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 함수
예를 들어 N = 123이면 1+2+3 = 6을 return 하면 됩니다.
제한사항
- N의 범위 : 100,000,000 이하의 자연수
내가 푼 문제 풀이
function solution(n){
var answer = 0;
let num = n+''
for(let i = 0; i<num.length; i++){
answer += parseInt(num[i])
}
return answer;
}
첫번째 방법은 n을 숫자 -> 문자열로 변환한 후 for문을 돌려서 num의 index 값을 parseInt()를 사용하여 숫자 타입으로 바꾼 후 answer에 더한다.
function solution(n){
var answer = 0;
let num = (n+'').split('')
num.forEach(item=>{answer+=parseInt(item)})
return answer;
}
두번째 방법은 n을 문자열로 바꾼 후 배열로 만든다 -> forEach() 함수를 사용해서 answer에 item의 값을 더한다. 이때 parseInt()를 사용해서 숫자 타입으로 바꿔 준 후 더한다.
다른 사람이 푼 문제 풀이
function solution(n){
return (n+"").split("").reduce((total, item) => total + parseInt(item), 0)
}
reduce() 함수를 사용해서 총합과 요소의 변수를 정해주고 총합의 초깃값은 0으로 설정한다.
실행 코드 블록에서 item을 숫자 타입으로 바꿔주고 total에 더해주는 작업을 반복해서 return 값으로는 하나의 값을 반환한다.
https://programmers.co.kr/learn/courses/30/lessons/12931
'항해 중 > 2주차 알고리즘(프로그래머스)' 카테고리의 다른 글
3일차 → 수박수박수박수박수박수?(repeat()) (0) | 2021.11.10 |
---|---|
3일차 → 이상한 문자 만들기(split(), map(), forEach(), splice(), toUpperCase(), toLowerCase(), join()) (0) | 2021.11.10 |
3일차 → 문자열 다루기 기본(parseInt()) (0) | 2021.11.10 |
3일차 → 자연수 뒤집어 배열로 만들기(toString(), split(), reverse(), map()) (0) | 2021.11.10 |
3일차 → 정수 내림차순으로 배치하기(toString(), split(), sort(), reverse(), join(), parseInt()) (0) | 2021.11.10 |
댓글