reverseSequence.js (8kyu 30)
Codewars 알고리즘 풀이
Problem
- Get the number n to return the reversed sequence from n to 1.
- n부터 1까지 연속된 수로 반환한다. (역순)
Solution 01
function reverseSequence(n) {
let result = [];
for (let i = n; i > 0; i--) {
result.push(i);
}
return result;
}
reverseSequence(4); // [4, 3, 2, 1]
reverseSequence(5); // [5, 4, 3, 2, 1]
push()
메소드배열의 끝에 새 element를 추가하고, 새로운 길이를 반환한다.
Solution 02
function reverseSequence(n) {
return n === 1 ? [n] : [n].concat(reverseSequence(n - 1));
}
reverseSequence(4); // [4, 3, 2, 1]
reverseSequence(5); // [5, 4, 3, 2, 1]
concat()
메소드두 개 이상의 배열을 결합하고, 새 배열을 반환한다.
Solution 03
function reverseSequence(n) {
return n === 1 ? [n] : [n, ...reverseSequence(n - 1)];
}
reverseSequence(4); // [4, 3, 2, 1]
reverseSequence(5); // [5, 4, 3, 2, 1]