SJF(Shortest Job First) 스케줄링 방식은 실행 시간이 가장 짧은 작업을 먼저 처리하는 비선점형 알고리즘입니다. 문제에서 모든 작업이 시간 0에 동시에 도착했다고 가정하므로, 실행 시간이 짧은 순서대로 작업을 스케줄링하면 됩니다. 주어진 작업들의 실행 시간을 짧은 순서대로 정렬하면 다음과 같습니다. 작업 3: 실행 시간 3 작업 4: 실행 시간 7 작업 1: 실행 시간 10 작업 5: 실행 시간 12 작업 2: 실행 시간 29 이제 각 작업의 대기시간을 계산해 보겠습니다. 대기시간은 작업이 도착한 시점부터 실행을 시작하기까지 기다린 시간입니다. 작업 3: 가장 먼저 실행되므로, 대기시간은 0입니다. 작업 4: 작업 3이 끝난 후 실행됩니다. 작업 3의 실행 시간인 3시간만큼 기다립니다. 대기시간 = 3 작업 1: 작업 3과 작업 4가 끝난 후 실행됩니다. 대기시간 = (작업 3 실행 시간) + (작업 4 실행 시간) = 3 + 7 = 10 작업 5: 작업 3, 4, 1이 끝난 후 실행됩니다. 대기시간 = (작업 3) + (작업 4) + (작업 1) = 3 + 7 + 10 = 20 작업 2: 작업 3, 4, 1, 5가 끝난 후 실행됩니다. 대기시간 = (작업 3) + (작업 4) + (작업 1) + (작업 5) = 3 + 7 + 10 + 12 = 32 이제 모든 작업의 대기시간을 더한 후, 작업의 개수(5개)로 나누어 평균 대기시간을 계산합니다. 총 대기시간 = 0 + 3 + 10 + 20 + 32 = 65 평균 대기시간 = 총 대기시간 / 작업의 개수 = 65 / 5 = 13 따라서 평균 대기시간은 13시간이 되며, 정답은 1번입니다.