행복을 담는 블로그
[프로그래머스] 연습문제) 자릿수 더하기 / split() 이용하여 배열 만들기 본문
오늘 이 문제를 풀었다. 그 동안에는 배열이 주어졌고, 해당 배열 내의 숫자 값들을 합하거나 평균을 구하는 식의 문제가 주었다.
하지만 이 문제는 배열이 아닌 숫자가 주어졌기에 숫자 각각의 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;
}
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 연습문제) 정수 내림차순으로 배치하기/ array.join( ) 메소드 (1) | 2024.01.15 |
---|---|
[프로그래머스] 배열의 합 구하기/ reduce( ) 메서드 (2) | 2024.01.04 |