[프로그래머스] 디스크 컨트롤러 - python 파이썬

2024. 7. 24. 13:45·코딩테스트/프로그래머스

문제

 

이 문제는 힙을 이용해서 풀면 되는데 heap 을 활용하여 문제를 구현하는 방법을 생각해내는게 어려웠다.

 

일단 각 작업별로 해당 작업이 요청되는 시점 이후에만 실행이 가능하기 때문에 start 라는 변수를 두어 현재 start 변수 이후에 요청되었고 현재 시점보다 이전에 요청된 작업들에 대해서 heap에 추가 해준다.

 

그 후 heap 추가된 것들을 탐색하면서 start와 now 를 갱신해주면서  answer 값 또한 갱신해준다.

 

 

 

나의 코드

import heapq
def solution(jobs):
    answer = 0
    heap = []
    start = -1
    now = 0
    i = 0
    
    while i < len(jobs):
        for j in jobs:
            if start < j[0] <=now:
                heapq.heappush(heap,(j[1],j[0]))
        
        if len(heap) > 0:
            cur = heapq.heappop(heap)
            start = now
            now += cur[0]
            i+=1
            answer += (now-cur[1])
        else:
            now += 1
    
    return int(answer/len(jobs))

 

 

'코딩테스트 > 프로그래머스' 카테고리의 다른 글

[프로그래머스] 아이템 줍기 -python  (0) 2024.08.06
[프로그래머스] 단어변환 - python 파이썬  (2) 2024.08.01
[프로그래머스] N으로 표현 -python 파이썬  (1) 2024.07.25
[프로그래머스] 더맵게 - python파이썬  (1) 2024.07.25
[프로그래머스]이중우선순위 큐 - python 파이썬  (5) 2024.07.22
'코딩테스트/프로그래머스' 카테고리의 다른 글
  • [프로그래머스] 단어변환 - python 파이썬
  • [프로그래머스] N으로 표현 -python 파이썬
  • [프로그래머스] 더맵게 - python파이썬
  • [프로그래머스]이중우선순위 큐 - python 파이썬
hiwon
hiwon
천천히 굴러가는 코딩일기
  • hiwon
    하이원의 코딩 일기
    hiwon
  • 전체
    오늘
    어제
    • 분류 전체보기 (83)
      • 프론트엔드 (0)
        • react (0)
      • 백엔드 (13)
        • node.js (1)
        • spring (6)
      • 코딩테스트 (57)
        • 백준 (41)
        • 프로그래머스 (15)
      • 프로디지털아카데미 (9)
        • 클라우드 (1)
        • JavaScript (1)
      • github (1)
      • AWS (2)
      • Infra (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    알파코캠퍼스
    코테
    EC2
    Java
    bastion host
    신한투자증권
    프로그래머스
    spring
    다익스트라
    투포인터
    AWS
    파이썬
    BFS
    백엔드
    알고리즘
    github
    백준
    깃허브
    IT기획
    kdt교육
    코딩테스트
    알파코
    프디아
    프로디지털아카데미
    그리디
    UnionFind
    K디지털트레이닝
    python
    백트래킹
    MSA
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
hiwon
[프로그래머스] 디스크 컨트롤러 - python 파이썬
상단으로

티스토리툴바