정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요.
● 3 ≤ numbers의 길이 ≤ 20
● direction은 "left" 와 "right" 둘 중 하나입니다.
numbers 가 [1, 2, 3]이고 direction이 "right" 이므로 오른쪽으로 한 칸씩 회전시킨 [3, 1, 2]를 return합니다.
numbers 가 [4, 455, 6, 4, -1, 45, 6]이고 direction이 "left" 이므로 왼쪽으로 한 칸씩 회전시킨 [455, 6, 4, -1, 45, 6, 4]를 return합니다.
function solution(numbers, direction) {
let arr = [...numbers];
if (direction === "right") {
let arrcopy = [...arr];
arr.pop();
let delnum = arrcopy.pop();
arr.unshift(delnum);
return arr;
}
if (direction === "left") {
let arrcopy = [...arr];
let delnum = arrcopy.shift();
arr.shift();
arr.push(delnum);
return arr;
}
}
굉장히 어려워보이지만, 문제 그대로 배열을 회전시키는 문제이다. 그에 따라서 나도 left일때, right일때에 따라서 회전하는 것을 만들어 보았다.
끝!