https://www.acmicpc.net/problem/11866
const fs = require("fs");
const [N, K] = fs.readFileSync("/dev/stdin").toString().trim().split(" ").map(Number);
class Queue {
items = [];
front = 0;
rear = 0;
push(item) {
this.items.push(item);
this.rear++;
}
size() {
return this.rear - this.front;
}
pop() {
return this.items[this.front++];
}
}
function solution(N, K) {
const res = [];
const queue = new Queue();
// 1부터 N까지 enqueue
for (let i = 1; i <= N; i++) {
queue.push(i);
}
while (queue.size() > 0) {
// K-1번 만큼 회전
for (let i = 0; i < K - 1; i++) {
queue.push(queue.pop());
}
// K번째 제거
const removedItem = queue.pop();
res.push(removedItem);
}
return res;
}
console.log(`<${solution(N, K).join(", ")}>`);'JS 코딩테스트' 카테고리의 다른 글
| [JS hash] object vs Map vs Set 차이 (0) | 2025.09.23 |
|---|---|
| js 코테 10분전 외워야 할 공식들 (0) | 2025.09.22 |
| [JS코테] javascript로 큐 구현 (1) | 2025.08.17 |
| [JS 코테] LeetCode 2722. Join Two Arrays by ID (0) | 2025.05.05 |
| [LeetCode] 2667 create-hello-world-function (2) | 2024.11.12 |