1. 문제
2. 풀이 과정
from collections import Counter
def solution(food_times, k):
food_num = len(food_times) #현재 음식 개수
counting = Counter(food_times) #시간별 음식 개수
time_list = list(counting.keys()) #시간 목록
time_list.sort()
pre_time = 0
for time in time_list:
if k <= (time-pre_time)*food_num:
#이전 시간< 답 <=현재 시간
now_time = k//food_num
k -= now_time*food_num
for idx, t in enumerate(food_times, start = 1):
if t >= pre_time+now_time+1:
if k == 0:
return idx
k -= 1
#다음 time까지 걸린 시간 * 지금 남은 음식 수
k -= (time-pre_time)*food_num
#해당 시간의 음식은 다 먹은 것으로 빼준다.
food_num -= counting[time]
pre_time = time
return -1
'코딩문제풀이 > 프로그래머스' 카테고리의 다른 글
[Python] 매칭 점수 (0) | 2021.09.21 |
---|---|
[Python] 길 찾기 게임 (0) | 2021.09.11 |
[Python] 후보키 (0) | 2021.09.09 |
[Python] 실패율 (0) | 2021.09.08 |
[Python] 오픈채팅방 (0) | 2021.09.08 |