
1. 나의 생각 흐름
숫자 배열로 만든 후 원소들을 모두 다 더하면 되겠다고 생각했다. 그래서 바로 코드를 짜보았다.
2. 내 코드 정리
function solution(n)
{
let answer = 0;
let sum = 0;
let arr = (n+'').split('').map(Number);
for(let x of arr){
sum += x;
}
return answer = sum;
}
숫자를 문자로 변환 후 배열로 만들기 ( split이용 )
- 타입이 숫자(number)인 경우 split을 사용할 수 없기 때문에 숫자에 ''을 더해 문자로 만들어주고, split('')을 사용하여 배열로 만들어 주는 방법이다. --------->. (n +'').split('')
※ .map(Number)를 사용해서 한번에 바로 숫자형을 배열에 담을 수 있다 !!!
3. 다른 사람들의 코드
function solution(n){
return (n+"").split("").reduce((acc, curr) => acc + parseInt(curr), 0)
}
reduce(누적 합계 구하는 함수)를 이용해서 한줄로 만들었다. 정말 간단하게 딱 한 줄이면 풀이가 끝이 난다. reduce메소드를 이용하는 법을 조금 더 공부해야할 것 같다.
4. 결론
reduce메소드를 공부해서 그 안의 인자를 어떻게 처리하는지, 애로우함수로 간단하게 코드를 짜는 연습을 해보아야겠다.
'알고리즘' 카테고리의 다른 글
[Programmars] 약수의 개수와 덧셈 (JavaScript) (0) | 2022.02.04 |
---|---|
[Programmars] 약수의 합 (JavaScript) (0) | 2022.02.04 |
[Programmars] x만큼 간격이 있는 n개의 숫자 (JavaScript) (0) | 2022.02.04 |
[Programmars] 하샤드 수 (JavaScript) (1) | 2022.02.03 |
[Programmars] 핸드폰 번호 가리기 (JavaScript) (0) | 2022.02.03 |
댓글