๋ฌธ์ ์ถ์ฒ
์ฝ๋๋ฆฌํฐ CyclicRotation ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ
๋ฌธ์ ์์ฝ
์ ์ N์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฐฐ์ด A๊ฐ ์ฃผ์ด์ง๋ค. ์ด ๋ โK`๋งํผ ํ์ ํ์ ๋ ๋ฐฐ์ด์ ๊ตฌํ๋ผ.
์๋ฅผ ๋ค์ด, A = [3, 8, 9, 7, 6], K = 3์ผ ๊ฒฝ์ฐ, [9, 7, 6, 3, 8]์ ๋ฆฌํดํ๋ฉด ๋๋ค.
ํ์ด
function solution(A, K) {
for (let i = 0; i < K; i++) {
A.unshift(A.pop());
}
return A;
}
์ ์ฒ๋ผ ํ์๋๋ 87%๊ฐ ๋์๋ค. ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ ๋น ๋ฐฐ์ด์ด ๋ค์ด์์ ๋์ ๋ฌธ์ ๊ฐ ๋๋ค. ๊ทธ๋์ ๋น ๋ฐฐ์ด์ผ ๋์ ์กฐ๊ฑด์ ์ถ๊ฐํด ์ฃผ์๋ค.
function solution(A, K) {
if (A.length < 1) return;
for (let i = 0; i < K; i++) {
A.unshift(A.pop());
}
return A;
}
์ด๋ ๊ฒ ํธ๋ 100%๊ฐ ๋์์ต๋๋ค. ๋ด๊ฐ ํผ ๋ฐฉ๋ฒ ๋ง๊ณ ๋ค๋ฅธ ๋ถ๋ค์ ํ์ด๋ ๊ฐ์ด ์ ์ด๋์ผ๊ฒ ๋ค. ์ญ์ ๋๋ ์ํ์ ์ธ ์ฌ๊ณ ๋ฅผ ํ๋ ๋ฅ๋ ฅ์ด ๋ถ์กฑํ๊ฒ ์๋๊ฐ ์ถ๋ค.
์๋๋ ๋ค๋ฅธ ๋ถ๋ค์ ํ์ด๋ฅผ ์ฐธ๊ณ ํ ์ฝ๋์ ๋๋ค.
function solution(A, K) {
const length = A.length;
let result = [];
for (let i = 0; i < length; i++) {
const target = (i + K) % length;
result[target] = A[i];
}
return result;
}