알고리즘 문제 풀이
import java.util.*;
class Solution {
public int solution(int[] people, int limit) {
ArrayList<Integer> arrayList=new ArrayList<>();
for (int i:people) {
arrayList.add(i);
}
// 정렬
Collections.sort(arrayList);
int start=0;
int last=arrayList.size()-1;
int answer = 0;
while (start<=last) {
int maxVal=arrayList.get(last);
int minVal=arrayList.get(start);
int hap=minVal+maxVal;
if (hap<=limit) {
// 둘다 통과
start+=1;
last -=1;
}
else {
// 마지막 것만 통과
last-=1;
}
answer+=1;
}
return answer;
}
}
FCFS (First-Come, Frist -Served) : 먼저 오면 먼저 처리 / 대표적인 비 선점형 스케쥴링 방식
SJF (Shorted Job First) : Busrt Time (실행시간)이 가장 짧은 것부터 처리 하는 방식
Priority Scheduling : 우선 순위가 높은 순서대로 처리 (일반적으로 숫자가 낮을수록 우선순위가 높음)
Round Robin : 임의의 Time quantum( or time slice)을 두고 일정 시간이 지나면 다음 프로세스에게 CPU 점유를 넘기는 방식
참고 블로그