강의로 돌아가기
먹는거야?

테스트 8번, 18번만 실패하는 분, .. 참고 하세요.

아래 테스트 케이스를 통과하면 통과할 확률이 높아집니다.

input : [[0, 9], [0, 4], [0, 5], [0, 7], [0, 3]]
output : 13

  • 장동혁
    3 + (3 + 4) + (3 + 4 + 5) + (3 + 4 + 5 + 7) + (3 + 4 + 5 + 7 + 9) = 69 / 5 = 13.8아닌가요? ㅜㅜ 장동혁 2019.01.31 18:19
  • 장동혁
    헐 소숫점이하 버림... 역시 문제를 잘 읽어야겠네요... 장동혁 2019.01.31 18:22
  • 김효찬
    [0,9] 부터 읽어야 하는게 맞지 않나요? 그럼 13이 안나올텐데요. 김효찬 2019.03.10 16:34
  • Kim Min-jun
    이거 통과해도 8번 18번 틀리네요 ㅠ Kim Min-jun 2019.05.08 16:21
  • 김동욱
    통과해도 14~이후만 맞네요 ㅠ 김동욱 2019.05.31 09:05
1 개의 답변
Kim Min-jun

from heapq import heappush, heappop

def solution(jobs):
jobs.sort(key=lambda x: x[0])
nums = len(jobs)
workingTime = 0
heap = []
time = 0

while jobs:
    while jobs and jobs[0][0] <= time:
        start, duration = jobs.pop(0)
        heappush(heap, (duration, start))
    if not heap:
        start, duration = jobs.pop(0)
        heappush(heap, (duration, start))
        time = start
    duration, start = heappop(heap)
    time += duration
    workingTime += time - start

while heap:
    duration, start = heappop(heap)
    time += duration
    workingTime += time - start

return workingTime//nums

왜 틀릴까요? Sort에 reverse적용하고 반대로 추출하면 성공하네요..ㄷㄷ

  • Kim Min-jun
    [24, 10], [18, 39], [34, 20], [37, 5], [47, 22], [20, 47], [15, 34], [15, 2], [35, 43], [26, 1] Kim Min-jun 2019.05.08 17:19
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.