- Class를 활용한 구조체 생성 (Value)
- PriorityQueue Custom 정렬을 위해서 compareTo 활용.
- compareTo 하지 않을경우 Error 발생 ( default int 정렬 )
import java.util.*;
class Value implements Comparable<Value>{
private int start,time;
public Value(int start, int time){
this.start = start;
this.time = time;
}
public int getTime(){
return this.time;
}
public int getStart(){
return this.start;
}
@Override
public int compareTo(Value target){
if(this.time>target.time){
return 1;
}else if(this.time==target.time){
return 0;
}else {
return -1;
}
//Lambda return this.time >= target.time ? 1 : -1;
}
}
class Solution {
public int solution(int[][] jobs) {
int answer = 0;
### PriorityQueue ###
PriorityQueue<Value> pq = new PriorityQueue<Value>();
for(int i=0; i<jobs.length; i++){
pq.add(new Value(jobs[i][0],jobs[i][1]));
}
while(!pq.isEmpty()){
Value tmp = pq.poll();
System.out.println(tmp);
}
### PriorityQueue ###
return answer;
}
}
'Devops > Algorithm' 카테고리의 다른 글
[Java] [위장] Combination, HashMap ★ (1) | 2021.04.22 |
---|---|
[Java] [소수찾기] 소수구하기/순열/조합 (0) | 2021.04.20 |
[Java] String, Character, StringBuilder 활용 (3) | 2021.04.16 |
[Java] [매출하락최소화] 너비우선탐색(BFS) (1) | 2021.04.14 |
[Java] [더맵게] PriorityQueue (1) | 2021.04.14 |