import sys
# sys.stdin.readline()
from collections import deque
sys.setrecursionlimit(100000000)
import heapq
INF = 1e9
def solution(food_times, K):
if sum(food_times) <=K:
return -1
q = []
for i in range(len(food_times)):
heapq.heappush(q,(food_times[i],i+1))
sumValue = 0
pretime = 0
length = len(food_times)
while sumValue + ((q[0][0] - pretime) * length) <=K :
now = heapq.heappop(q)[0]
sumValue += (now -pretime) * length
length -=1
pretime = now
result = sorted(q,key = lambda x: x[1])
return result[(K - sumValue) % length][1]
처음에 힙큐 안쓰고 구현으로 막 풀었는데
비주얼만 보고서는 카카오 코테가 이렇게 쉬운걸 내나?했는데 ㅋㅋ 역시나 허수는 저였네요
효율성이 자꾸 빵점이 나오더라고요
진짜 짜증이 확났음
거의 2시간 박았는데 자꾸 정확도만 40점대고 효율성이 0점대..
힙큐 쓰는걸 몰랐습니다.....
이렇게 배워가야죠 뭐,, ㅋ
하여튼 ,, 시간복잡도를 고려를 잘 하고
무지성으로 구현만 하는게 좋은게 아니라는걸.,,,깨닫고 갑니다....
'알고리즘 문제 풀이 > 이코테' 카테고리의 다른 글
[이코테] CH04 구현 실전문제 3번 게임 개발 (1) | 2023.11.22 |
---|---|
[이코테] CH04 구현 실전문제 2번 왕실의 나이트 (0) | 2023.11.22 |
[이코테] CH03 그리디 실전문제 5번 볼링공 고르기 (0) | 2023.11.19 |
[이코테] CH03 그리디 실전문제 4번 만들수 없는 금액 (0) | 2023.11.19 |
[이코테] CH03 그리디 실전문제 3번 문자열 뒤집기 (0) | 2023.11.17 |