[Lv.0] 문자열 정수의 합

woodstock·2023년 12월 2일
0

코딩테스트

목록 보기
15/56
post-thumbnail

문자열 정수의 합

문제설명

한 자리 정수로 이루어진 문자열 num_str이 주어질 때, 각 자리수의 합을 return하도록 solution 함수를 완성하는 문제이다.

문자열과 배열메서드의 활용

풀이

풀이 1.

function solution(num_str) {
    let answer = 0;
    const arr = Array.from(num_str);
    for(let i = 0; i < arr.length; i++) {
        answer += +arr[i];
    }
    return answer;
}
  • for 루프를 사용하여 각 문자를 숫자로 변환하고 누적하여 합산한다.
    코드는 직관적이지만, 대규모 문자열에서는 for 루프의 반복이 성능 저하 요인이 될 수 있다.

풀이 2.

const solution = num_str => num_str.split('').reduce((acc, curr) => acc + parseInt(curr), 0);
  • splitreduce를 사용해 더 간결하고 현대적인 JavaScript의 함수형 프로그래밍 스타일을 반영한다.
    성능 면에서 더 효율적이며, 가독성과 유지보수성이 좋은 방식이다.

풀이해설

const arr = "123456789".split('');

console.log(arr); // [ '1', '2', '3', '4', '5', '6', '7', '8', '9' ]
const result = arr.reduce((acc, curr) => acc + parseInt(curr), 0);

console.log(result); // 45
profile
해내는 사람

0개의 댓글