도구스학업·수학

마감시한 작업 스케줄링 계산기

작업마다 마감시한과 이익을 넣으면 그리디 알고리즘으로 이익의 합이 최대가 되는 작업 조합과 슬롯 배정을 계산합니다.

작업 목록 (한 줄에 «이름 마감시한 이익»)

예: «J1 2 100» — 마감시한 2까지 끝내면 이익 100. 마감시한은 1 이상의 정수입니다.

최대 이익 합

127

2개 작업 선택

슬롯별 배정

슬롯 1J3+27
슬롯 2J1+100

이익이 큰 순서로 훑은 과정

J1 (마감 2, 이익 100)선택

마감(2) 이하의 슬롯 2에 배정

J3 (마감 2, 이익 27)선택

마감(2) 이하의 슬롯 1에 배정

J4 (마감 1, 이익 25)탈락

마감(1) 이하의 슬롯이 모두 찼습니다

J2 (마감 1, 이익 19)탈락

마감(1) 이하의 슬롯이 모두 찼습니다

입력 작업 수4
이익이 큰 작업부터 훑으며 마감시한 이하의 가장 늦은 빈 슬롯에 배정합니다. 늦은 슬롯부터 채워야 마감이 이른 다른 작업이 쓸 이른 슬롯을 건드리지 않습니다. 작업마다 걸리는 시간은 1단위로 같다고 가정합니다.

계산 방법

  1. 1작업마다 한 줄에 «이름 마감시한 이익»을 적습니다.
  2. 2이익이 큰 순서로 훑으며 배정되는 과정을 확인합니다.
  3. 3슬롯별 배정 결과와 최대 이익 합을 확인합니다.

자주 묻는 질문

작업마다 걸리는 시간은 똑같이 1단위이고, 각 작업은 자신의 마감시한까지 끝나야 합니다. 한 시간대(슬롯)에는 작업을 하나만 할 수 있을 때, 이익의 합이 가장 큰 작업 조합을 고르는 문제입니다. edu/activity-selection(겹치지 않게 가장 많이 고르기, 이익 없음)과 달리 여기서는 개수가 아니라 이익의 합을 최대화합니다.

이익이 큰 작업부터 훑으며, 그 작업의 마감시한 이하에서 가장 늦은 빈 슬롯에 배정합니다. 늦은 슬롯부터 채워야 마감이 이른 다른 작업이 쓸 이른 슬롯을 건드리지 않습니다. 빈 슬롯이 없으면 그 작업은 포기합니다.

교환 논증으로 증명됩니다. 이익이 가장 큰 작업을 최적해가 포함하지 않는다고 가정하면, 이미 뽑힌 작업 중 하나를 이 작업으로 바꿔도 손해 볼 수 없습니다(자리가 있고 이익이 더 크므로). 그러므로 이익이 가장 큰 작업을 포함하는 최적해가 항상 존재하고, 나머지에 같은 논증을 반복하면 그리디가 최적임이 보입니다.

전송되지 않습니다. 모든 계산은 브라우저 안에서 이뤄지고, 입력값은 이 기기에만 남습니다.

알아두면 좋은 점

  • 작업마다 걸리는 시간은 1단위로 같다고 가정합니다. 소요시간이 서로 다른 일반적인 스케줄링은 다루지 않습니다.
  • 무작위 작업 조합 300개에서 그리디 결과가 모든 부분집합을 검사하는 전수조사(브루트포스)의 최댓값과 정확히 같은지 확인했습니다.
  • 작업은 40개까지 입력할 수 있습니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 3일 · 결과는 참고용 추정치입니다.