๐ŸŽฒ ๋ฐฑ์ค€ 20922๋ฒˆ ๊ฒน์น˜๋Š” ๊ฑด ์‹ซ์–ด

Jeongeunยท2024๋…„ 3์›” 10์ผ
0

๋ฐฑ์ค€

๋ชฉ๋ก ๋ณด๊ธฐ
184/187

๐Ÿ“ฃ ๋ฌธ์ œ

๐Ÿ’ก ์ค‘๋ณต๋œ ์ˆซ์ž๊ฐ€ K๋ฒˆ ์ด์ƒ์ผ ๋•Œ start๋ฅผ ์กฐ์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

์ฝ”๋“œ

const fs = require('fs'); 
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
const [N, K] = input.shift().split(" ").map(Number);
const arr = input[0].split(" ").map(Number);

const check = new Array(100000).fill(0);
let start = 0;
let end = 0;
let max = 0;

while (start < N && end < N) {
  check[arr[end] - 1]++;
  if (check[arr[end] - 1] > K) {
    while (check[arr[end] - 1] > K) {
      check[arr[start] - 1]--;
      start++;
    }
  }

  max = Math.max(max, end - start + 1);
  end++;
}

console.log(max);

0๊ฐœ์˜ ๋Œ“๊ธ€