본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬] 22857번 가장 긴 짝수 연속한 부분 수열 (small)

by 현장 2022. 5. 11.

-Code

from collections import deque

n, k = map(int, input().split())
S = list(map(int, input().split()))
q = deque()
delete, l, cnt, max_cnt = 0, 0, 0, 0

for i in S:
    q.append(i)

    if i % 2 == 0:
        cnt += 1
    else:
        delete += 1
    if delete > k:
        num = q.popleft()
        if num % 2 == 1:
            delete -= 1
        else:
            cnt -= 1
    if len(q) > l and cnt > max_cnt:
        l = len(q)
        max_cnt = cnt

print(max_cnt)

문제를 잘 못 이해해서 제외한 숫자를 포함한 크기를 구하게 코드를 짜서 이해하는데 좀 오래 걸려서 아쉬웠습니다.