강의로 돌아가기
전종욱

요청의 순서라는 의미가?

작업을 하지 않을 때는 요청의 순서가 빠른 것부터 수행한다고 했는데, 이때 요청의 순서라는 요청 작업 시작 시간이 작은 것을 의미하는 것인지? 아니면 input 의 배열에서의 순서 상에서 앞선 것을 의미하는 것인지요?
그리고 input 은 요청 시작 시간의 순서대로 정렬되어 있다는 전제인건가요?

작성중인 코드―solution.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def solution(jobs):
    answer = 0
    import heapq
    heap = jobs[:]
    heapq.heapify(heap)
    time = 0
    temp = []
    while len(heap) > 0:
        if time < heap[0][0]:
            time = heap[0][0]
        while len(heap) > 0 and time >= heap[0][0]:
            a = heapq.heappop(heap)
            heapq.heappush(temp, (a[1], a[0]))
        while len(temp) > 0:
            t = heapq.heappop(temp)
            time = time + t[0]
            answer = answer + (time - t[1])

    return int(answer / len(jobs))
  • 전종욱
    [[0, 30], [0, 10]] 이렇게 입력이 들어오면 제일 처음 수행되는게 [0, 30] 인건가요? [0, 10] 인건가요? 제일 처음은 하드디스크가 수행을 하고 있지 않을 때인데, 이럴 경우 제일 처음 들어오는 요청은 [0, 30] 으로 판단해야 하는 건가요? 전종욱 2018.12.24 15:57
1 개의 답변
Demi

요청 순서는 배열의 인덱스가 앞에 있는 것으로 생각해주세요.

  • siyoon210
    흠.. 배열의 인덱스가 실제 요청시간의 오름차순과 다르게 들어올 수 도 있다고 알고 있는데, 이러면 문제가 오해할만한 소지가 있는거 아닌가요? 저는 이 조건을 무조건 요청시간이 이른 시간이 경우로 해석을 해서 풀었거든요. 당연히 만점은 안나왔습니다. siyoon210 2019.03.07 18:08
  • Shown
    요청의 순서가 배열의 인덱스라고 하셨는데요...그럼 시간이 흘러 2가 되었는데, (1,9)와 같은 요청이 들어 오는게 가능한가요?? Shown 2019.04.05 16:03
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.