프로그래머스) 자릿수 더하기

이명진·2022년 1월 19일
0

코드카타

목록 보기
4/69

이번 문제도 역시 도움없이 스스로 풀수 있었다.
주어진 숫자의 각 자리 수를 분리하여서 더한 결과를 리턴 하는 것이었다.

for 문을 활용해서 자리수를 분리하여서 더하고 리턴하는 것으로 문제를 풀수 있었다.
더 쉬운방법이 있을까 고민했는데 이리저리 생각하다가 결과적으로 도출된 로직은 아래와 같다.

function solution(n) {
let result = n+'';
let num = 0;
let plusNum = 0;
for(let i=0;i<result.length;i++){
num=result.slice(i,i+1)*1
plusNum +=num;
}
return plusNum
}

다른 사람의 풀이를 보았는데 문자/숫자로 나눠 푼것이 인상깊었다.

function solution(n){
// 문자 풀이
// return (n+"").split("").reduce((acc, curr) => acc + parseInt(curr), 0)
// 숫자풀이
var sum = 0;
do {
sum += n%10;
n = Math.floor(n/10);
} while(n > 0);
return sum;
}

문자는 reduce를 활용해서 풀었던데 reduce를 공부해봐야 겠다.
숫자 일때는 10으로나눠 몫으로 떨어진 숫자와 분수화 시켜서 소수를 버림화 처리하여서 덧셈한것 같다 문자와 숫자 모두 접근하여서 문제를 풀다니 대단한것 같다.

profile
프론트엔드 개발자 초보에서 고수까지!

0개의 댓글