반응형
문제
소가 길을 건너간 이유 5
https://www.acmicpc.net/problem/14465

풀이
설명
최소 몇 개의 신호등을 수리해야 하는지를 구하는 문제입니다.
누적합과 슬라이딩 윈도우를 이용해 해결할 수 있습니다.
예시 코드
function solution() {
const [N, K, B] = input().split(" ").map(Number);
const broken = Array(N + 1).fill(0);
for (let i = 1; i <= B; i++) {
broken[+input()] = 1;
}
const sum = Array(N + 1).fill(0);
for (let i = 1; i <= N; i++) {
sum[i] = sum[i - 1] + broken[i];
}
let minBroken = Infinity;
for (let i = K; i <= N; i++) {
let brokenInRange = sum[i] - sum[i - K];
minBroken = Math.min(minBroken, brokenInRange);
}
return minBroken;
}
'Coding Problem' 카테고리의 다른 글
[BOJ 15903] 카드 합체 놀이 (0) | 2025.04.08 |
---|---|
[BOJ 1038] 감소하는 수 (0) | 2025.04.03 |
[BOJ 14468] 소가 길을 건너간 이유 2 (0) | 2025.04.01 |
[BOJ 2785] 체인 (0) | 2025.03.24 |
[BOJ 2653] 수 이어가기 (0) | 2025.03.23 |