알고리즘

[프로그래머스] 할인 행사

hminor 2023. 7. 5. 10:07
# 완성될 값인 result_dict와 해당 길이의 개수만큼 채워진 want_dict와 비교
# try except를 사용해 만약 except로 갈 경우 
# result_dict와 깉지 않아 더이상 조회할 필요가 없기에 break 

def solution(want, number, discount):
    result_dict, _range, result = {i:j for i,j in zip(want, number)}, sum(number), 0
    for i in range(len(discount)-_range+1):
        want_dict = {i:0 for i in want}
        for j in range(_range):
            try: want_dict[discount[i+j]] += 1
            except: break
        if want_dict == result_dict: result += 1
    return result