키 순서대로 오름차순 정렬을 하게 되면 몸무게만 비교해보면 된다.
키는 작으니 몸무게라도 커야한다.
선발되는 인원의 몸무게를 max값으로 두고 해당 몸무게보다 클 때만 선발해준다. cnt++
그리고 선발된 인원의 몸무게를 다시 max값으로 둔다.
import java.util.*;
class Body implements Comparable<Body> {
public int h, w;
Body(int h, int w) {
this.h = h;
this.w = w;
}
@Override
public int compareTo(Body o) {
return o.h-this.h;
}
}
class Main {
public int solution(ArrayList<Body> arr, int n){
//선발되는 인원 수
int cnt = 0;
//키로 내림차순 정렬 시키기
Collections.sort(arr);
//최대 몸무게
int max = Integer.MIN_VALUE;
for(Body ob : arr) {
if(ob.w > max) {
max = ob.w;
cnt++;
}
}
return cnt;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
ArrayList<Body> arr = new ArrayList<>();
for(int i = 0; i < n; i++) {
int h = kb.nextInt();
int w = kb.nextInt();
arr.add(new Body(h, w));
}
System.out.println(T.solution(arr, n));
}
}
'Algorithm > inflearn' 카테고리의 다른 글
결혼식 (0) | 2021.10.07 |
---|---|
회의실 배정 (0) | 2021.10.07 |
피자 배달거리(DFS 활용) (0) | 2021.10.06 |
섬나라 아일랜드(BFS) (0) | 2021.10.05 |
섬나라 아일랜드(DFS) (0) | 2021.10.05 |