๐ก Map ์ฌ์ฉ
์ฝ๋
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
const [N, d, k, c] = input.shift().split(" ").map(Number);
let start = 0;
let end = k-1;
const map = new Map();
let max = 0;
map.set(`${c}`, 1);
const setAddMap = (num) => {
if (map.has(num)) map.set(num, map.get(num) + 1);
else map.set(num, 1);
};
for (let i = 0; i < k; i++) {
setAddMap(input[i]);
}
max = map.size;
for (let i = 1; i < N; i++) {
start++;
end++;
if (end === N) end = 0;
if (map.get(input[start - 1]) > 1)
map.set(input[start - 1], map.get(input[start - 1]) - 1);
else map.delete(input[start - 1]);
setAddMap(input[end]);
max = Math.max(max, map.size);
}
console.log(max);