행복을 담는 블로그

[프로그래머스] 연습문제) 자릿수 더하기 / split() 이용하여 배열 만들기 본문

Algorithm/프로그래머스

[프로그래머스] 연습문제) 자릿수 더하기 / split() 이용하여 배열 만들기

hyun0zin 2024. 1. 5. 11:53

오늘 이 문제를 풀었다. 그 동안에는 배열이 주어졌고, 해당 배열 내의 숫자 값들을 합하거나 평균을 구하는 식의 문제가 주었다.
하지만 이 문제는 배열이 아닌 숫자가 주어졌기에 숫자 각각의 index를 지정하여 더할 수가 없었다.

따라서 해당 문제를 푸는 로직을 먼저 글로 작성을 하여 생각해 보았다.

1. 숫자 -> 배열로 먼저 만들기

  • 숫자를 배열로 만드는 방법부터 살짝 막막했다. 약간의 서칭과 함께 'split() 메소드' 라는 힌트를 얻어 다시 진행하였다.

2. 배열을 만들기 위해 숫자 -> 문자열로 우선 바꾼다.

const str = String(n);

3. 문자열을 split("")을 이용하여 하나하나를 쪼갠다.

const newArr = str.split('') 

4. 생성된 배열을 for문을 이용해 각 index의 합을 구한다.

🚨 이때 배열 내 값들은 문자열이므로 합을 구할 때는 다시 숫자로 바꿔줘야 한다!

var sum = 0; 
    for(let i=0; i<newArr.length; i++){

        // 배열 내 값들 '문자열' 이므로 -> '숫자'로 변경하기
        sum = sum + Number(newArr[i]);        
    } 

5. 결과값을 return 한다.

return sum;

▶️ 전체 코드

function solution(n)
{
    var answer = 0;

    // 1. 숫자 -> 배열로 먼저 만들기
    const str = String(n);
    const newArr = str.split('') 

    // 2. 배열 내 숫자들 합 구하기
    var sum = 0; 
    for(let i=0; i<newArr.length; i++){
        sum = sum + Number(newArr[i]);        
    } 

    return sum;
}