https://www.acmicpc.net/problem/14465
풀이
import sys
def light(array):
left, right = 0, 1
broken = [0] * N
for i in array:
broken[i - 1] = 1
current_broken = sum(broken[:K])
Min = current_broken
for i in range(K, N):
current_broken += broken[i] - broken[i - K]
if current_broken < Min:
Min = current_broken
return Min
N, K, B = map(int, sys.stdin.readline().split())
array =list()
for _ in range(B):
array.append(int(sys.stdin.readline()))
print(light(array))
'Koala - 15기 > 코딩테스트 준비 스터디' 카테고리의 다른 글
[백준/c++] 1874번: 스택 수열 (0) | 2024.07.23 |
---|---|
[백준/c++] 1021번: 회전하는 큐 (0) | 2024.07.22 |
[백준/Java]-먹을 것인가 먹힐 것인가 (0) | 2024.07.21 |
[백준/C++] 1806번: 부분합 (0) | 2024.07.21 |
[백준/python] 1966: 프린터 (0) | 2024.07.21 |