내 맘대로 공부
article thumbnail

Q. 정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요

 

ex) 입출력 예시

n result
1234 10
930211 16

 

 


Thiking Process

각 자리 숫자의 합이면 reduce인데,, reduce는 배열 메서드이니 입력받은 n을 찢어서 배열로 만들어줘야겠는데 ? 찢는 역할을 하는게 split인데 얘는 string 메서드고,, n을 아예 string으로 바꿔서 split으로 찢어 배열로 만들고 이걸 reduce 하자 !

 

 

Code

case 1)

function solution(n) {
     return JSON.stringify(n)
    .split('')
    .reduce((acc, curr) => acc + Number(curr), 0);
}

 

case2) 

function solution(n) {
    return JSON.stringify(n)
    .split('')
    .map((el) => parseInt(el))
    .reduce((acc, curr) => acc + curr);

 

JSON.stringfy가 아니더라도 toString() 메서드를 이용해서 풀 수도 있다.

한 가지 의외였던 점은  case1은 0.7초, case2는 0.5초가 나왔다.

아무래도 더함과 동시에 형변환을 해주는게 좀 더 걸리나부다 

 

profile

내 맘대로 공부

@곰도리도리잼

잘못된 정보가 있다면 알려주세요 🧸