Skip to content

Latest commit

 

History

History
27 lines (23 loc) · 1.17 KB

풀이_디스크컨트롤러.md

File metadata and controls

27 lines (23 loc) · 1.17 KB

🧚🏻‍♀️ 프로그래머스 디스크 컨트롤러

  • Date : 2020.09.15(화)
  • Time : 50분 (해답참조)

문제

  • 각 작업에 대해 [작업이 요청되는 시점, 작업의 소요시간]을 담은 2차원 배열 jobs가 매개변수로 주어질 때, 작업의 요청부터 종료까지 걸린 시간의 평균을 가장 줄이는 방법으로 처리하면 평균이 얼마가 되는지 return 하도록 solution 함수를 작성해주세요. (단, 소수점 이하의 수는 버립니다)

코드 풀이

    jobs = sorted(jobs, key=lambda x: x[1])

: 먼저 주어진 배열을 작업의 소요시간을 기준으로 정렬해준다. 소요시간이 짧을수록 기다리는 시간이 짧아지기 때문에 기준으로 잡는다.

    if jobs[i][0] <= start:
    #만약 작업 시작 시간이 현재 시간보다 작다면 == 작업을 시작해도 된다는 뜻
        start += jobs[i][1]
        # 시작 시간에 소요 시간을 더해준다.
        answer += start - jobs[i][0]
        #요청부터 종료까지 걸린 시간을 더해줘야한다.
        jobs.pop(i)
        #해결 한 작업은 빼내준다.