'''
일정 금액 지불 -> 10일간 회원
회원: 매일 한 가지 할인 -> 하루에 하나만 구매 가능
자신이 원하는 제품과 수량이 할인하는 날짜랑 10일 연속으로 일치할 경우 회원가입
discount=["chicken", "apple", "apple", "banana", "rice", "apple", "pork", "banana", "pork", "rice", "pot", "banana", "apple", "banana"]
want=["banana", "apple", "rice", "pork", "pot"]
number=[3, 2, 2, 2, 1]
=> want_dict = dict(zip(want, number))
'''
from collections import Counter
def solution(want, number, discount):
# 필요한 제품과 수량을 딕셔너리로 저장
want_dict = dict(zip(want, number))
days = len(discount) - 9 # 10일 연속 기간을 검사할 수 있는 시작 지점 수
valid_days = 0
for i in range(days):
# 현재 10일간의 할인 제품 리스트
current_window = discount[i:i+10]
# 이 구간의 제품 수량을 카운트
current_count = Counter(current_window)
# 모든 제품이 원하는 수량만큼 있는지 확인
if all(current_count[item] >= want_dict[item] for item in want_dict):
valid_days += 1
return valid_days