💫 내가 작성한 코드
function solution(n) {
let nums = [];
do {
nums.push(n%10);
n = Math.floor(n/10);
} while (n>0);
const arr = nums;
const answer = arr.reduce(
(accumulator, currentValue) => accumulator + currentValue,0);
return answer;
}
💫 Review
split 메서드 써서 배열 만들고 forEach 로 각각 인자 돌리면 쉽게 풀릴 것 같았지만,
1. split 메서드는 느리다고 한다.
2. reduce 메서드에 익숙해지고 싶었다
2가지 이유 때문에 위와 같이 코드를 작성했다.
💫 풀이
do...while문을 이용하여 배열 만들기
// n= 987
nums.push(987 % 10) = 98...7
n = Math.floor(987 / 10) === 98
// n = 98
nums.push(98 % 10) = 9 ... 8
n = Math.floor(98 / 10) === 9
// n = 9
nums.push(9 % 10) = 0 ... 9
n = Math.floor(9 / 10) === 0
// while문 종료
'Algorithm' 카테고리의 다른 글
8. 청팀 / 백팀 (앨리스 코딩) (0) | 2021.09.28 |
---|---|
7. 평균 구하기 (0) | 2021.09.12 |
5. 두 개 뽑아서 더하기 (LV.1) (0) | 2021.09.10 |
4. 서울에서 김서방 찾기 (LV.1) (0) | 2021.09.03 |
3. 핸드폰 번호 가리기 (LV.1) (0) | 2021.08.31 |