Skip to content

Commit 228a5a1

Browse files
authored
Create 1700-멀티탭 스케줄링.js
1 parent b260c86 commit 228a5a1

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
const fs = require("fs");
2+
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
3+
const [nk, input] = fs.readFileSync(filePath).toString().trim().split("\n");
4+
const [N, K] = nk.split(" ").map(Number);
5+
const device = input.split(" ").map(Number);
6+
7+
const multitap = new Set();
8+
let cnt = 0;
9+
10+
device.forEach((e, idx) => {
11+
if (multitap.has(e) || multitap.size < N) multitap.add(e);
12+
else {
13+
const temp = new Set(multitap);
14+
for (let i = idx + 1; i < K; i++) {
15+
if (temp.size === 1) break;
16+
temp.delete(device[i]);
17+
}
18+
19+
const [first] = [...temp];
20+
multitap.delete(first);
21+
multitap.add(e);
22+
cnt++;
23+
}
24+
});
25+
26+
console.log(cnt);

0 commit comments

Comments
 (0)