reverseDigitize.js (8kyu 12)
Codewars 알고리즘 풀이
Problem
- You have to return the digits of this number within an array in reverse order.
- 주어진 숫자를, 배열 내에서 각각 역순으로 반환한다.
Solution 01
function reverseDigitize(n) {
let result = [];
let arr = n.toString().split('');
for (let i = arr.length - 1; i >= 0; i--) {
result.push(parseInt(arr[i]));
}
return result;
}
reverseDigitize(1234); // [4, 3, 2, 1]
reverseDigitize(4321); // [1, 2, 3, 4]
toString()
메소드숫자를 문자열로 변환한다.
split()
메소드문자열을 부분 문자열로 분할하고, 새 배열로 반환한다.
push()
메소드배열의 끝에 새 element를 추가하고, 새로운 길이를 반환한다.
parseInt()
메소드문자열을 구문 분석하고, 정수를 반환한다.
Solution 02
function reverseDigitize(n) {
return n.toString().split('').map(Number).reverse();
}
reverseDigitize(1234); // [4, 3, 2, 1]
reverseDigitize(4321); // [1, 2, 3, 4]
map()
메소드배열 내 모든 element에 대해, 호출한 함수의 결과를 모아 새 배열로 반환한다.
reverse()
메소드배열 내 element의 순서를 반전한다.
Solution 03
function reverseDigitize(n) {
return (n + '').split('').map(Number).reverse();
}
reverseDigitize(1234); // [4, 3, 2, 1]
reverseDigitize(4321); // [1, 2, 3, 4]