https://school.programmers.co.kr/learn/courses/30/lessons/131127?language=python3
이번 문제는 Counter를 이용해서 구현했다.
도출해야하는 결과 : 우리는 원하는 갯수의 식량을 모두 사야하고, 모두 살 수 있는 날짜수를 구해야한다.
1) want와 number의 인덱스를 활용해서 반복문을 통해 사야하는 물건의 종류와 갯수를 구했다.
buy_list = []
for i in range(len(number)):
for j in range(number[i]):
buy_list.append(want[i])
buy_list_counter = Counter(buy_list)
2) 첫날부터 10번째 날까지의 배열을 인덱싱 후 Counter를 사용해서, 1)에서 만든 Counter와 같은 경우 answer의 값을 증가시켰다.
for i in range(len(discount) - 9):
if buy_list_counter == Counter(discount[i:i+10]):
answer += 1
정답 코드
from collections import Counter
def solution(want, number, discount):
answer = 0
buy_list = []
for i in range(len(number)):
for j in range(number[i]):
buy_list.append(want[i])
buy_list_counter = Counter(buy_list)
for i in range(len(discount) - 9):
if buy_list_counter == Counter(discount[i:i+10]):
answer += 1
return answer
[Programmers][Python] H-Index (1) | 2024.01.02 |
---|---|
[LeetCode][Python]1578. Minimum Time to Make Rope Colorful (2) | 2023.12.27 |
[LeetCode][Python]1758. Minimum Changes To Make Alternating Binary String (0) | 2023.12.26 |
[LeetCode][Python] 1496. Path Crossing (1) | 2023.12.23 |
[LeetCode][Python] 1422. Maximum Score After Splitting a String (0) | 2023.12.22 |
댓글 영역