ex)
A | B | result |
---|---|---|
[5,1,3,7] | [2,2,6,8] | 3 |
[2,2,2,2] | [1,1,1,1] | 0 |
A 팀원들이 부여받은 수가 출전 순서대로 나열되어있는 배열 A와 i번째 원소가 B팀의 i번 팀원이 부여 받은 수를 의미하는 배열 B가 주어졌을 때, B팀원들이 얻을 수 있는 최대 승점을 return 하도록 구현해야한다.
A를 기준으로 B가 최대로 이길 수 있는 경우의 수를 구해야한다.
import java.util.*;
class Solution {
public int solution(int[] A, int[] B) {
int answer = -1;
Arrays.sort(A);
PriorityQueue<Integer> pq = new PriorityQueue<>();
for(int i =0; i< B.length;i++){
pq.add(B[i]);
}
int idx = 0;
while(pq.size() > 0){
int curData = pq.poll();
if(A[idx] < curData){
idx += 1;
}
}
answer = idx;
return answer;
}
}