나의 개발일지

[프로그래머스] Lv. 2 할인 행사 [Python, 파이썬] 본문

프로그래머스

[프로그래머스] Lv. 2 할인 행사 [Python, 파이썬]

YoonJuHan 2023. 12. 14. 10:54
  • 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/131127
  • 🔑 Counter 클래스 사용
    1. 내가 원하는 물건 : 개수 형태로 딕셔너리를 생성
    2. i번째 날 ~ i+10일 까지 살 수 있는 물건을 Counter 클래스를 사용해 구한다.
    3. 1번에서 생성한 딕셔너리와 2번에서 생성된 딕셔너리가 같으면 answer += 1

 

from collections import Counter

def solution(want, number, discount):
    answer = 0
    want_counter = {}
    
    for i in range(len(want)):
        want_counter[want[i]] = number[i]   # 사고싶은 물건 : 개수
    
    for i in range(len(discount)):
        c = Counter(discount[i:i+10])       # i번째 날 부터 10일동안 살 수있는 물건 : 개수
        if want_counter == c:
            answer += 1
    
    return answer
Comments