문제
정수 배열과 정수 k가 주어지면 모든 원소를 k칸씩 앞으로 옮기시오.
시간복잡도를 최대한 최적화 하시오.
input: [1, 2, 3, 4, 5], k=2
output: [3, 4, 5, 1, 2]
input: [0, 1, 2, 3, 4], k=1
output: [1, 2, 3, 4, 0]
풀이
const output = (input, k = 0) => [...input.slice(k), ...input.slice(0, k)]
output([1, 2, 3, 4, 5], 2) // [3, 4, 5, 1, 2]
output([0, 1, 2, 3, 4], 1) // [1, 2, 3, 4, 0]
[출처: https://mailprogramming.com/]