본문 바로가기
Algorithm/Programmers

[Programmers] 자릿수 더하기(JavaScript)

by 백승전 2022. 5. 8.

 

알림

 

본 포스팅은 공부 목적으로 작성된 글이며 상업적 목적으로 절대 사용되지 않았음을 밝힙니다.

 

문제

 

https://programmers.co.kr/learn/courses/30/lessons/12931

 

코딩테스트 연습 - 자릿수 더하기

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출

programmers.co.kr

 

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를 들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

 

코드

 

function solution(n){
    return n.toString().split('').map(n => Number(n)).reduce((a, b) => a + b);
}

 

풀이

 

숫자를 각각 쪼개서 더해야 하기 때문에 숫자를 문자열로 변환 후 하나씩 나눠줍니다. 그리고 문자 그대로를 이어 붙이는 게 아니라 숫자를 더해야 하기 때문에 다시 map 함수로 배열의 요소를 하나씩 숫자로 변환해주고, 마지막으로 reduce 함수로 배열을 하나씩 더해줍니다.

 

이런 흐름으로 문제 해결 시, 예시를 들면 n에 123이 입력 시, '123' > '1', '2', '3' > 1, 2, 3 > 6을 리턴할 수 있게 됩니다.

댓글