숫자게임 - 12987

LeeKyoungChang·2022년 10월 12일
0

Algorithm

목록 보기
200/203
post-thumbnail

📚 숫자게임 - 12987

숫자게임

📖 문제 이해

ex)

ABresult
[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가 최대로 이길 수 있는 경우의 수를 구해야한다.

  • 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;
    }
}
스크린샷 2022-10-12 오후 9 01 47

 

 

profile
"야, (오류 만났어?) 너두 (해결) 할 수 있어"

0개의 댓글