알고리즘 문제 풀이/이코테

[이코테] CH03 그리디 실전문제 6번 무지의 먹방 라이브

파란색 가운 2023. 11. 19. 20:00
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점대..

힙큐 쓰는걸 몰랐습니다.....

이렇게 배워가야죠 뭐,, ㅋ 

하여튼 ,, 시간복잡도를 고려를 잘 하고

무지성으로 구현만 하는게 좋은게 아니라는걸.,,,깨닫고 갑니다....