#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
 
int solution(vector<int> A, vector<int> B) 
{
    int answer = 0;
    
    sort(A.begin(), A.end());  
    sort(B.begin(), B.end());
    
    for(int i = A.size()-1; i >= 0; i--)
    {
        int left = 0;
        int right = B.size()-1;
        
        while(left <= right)
        {
            int mid = (left + right) / 2;
            
            if(B[mid] > A[i])
            {
                B.erase(B.begin()+mid);
                answer++;
                
                break;
            }
            else if(B[mid] <= A[i])
            {
                left = mid+1;
            }
        }
    }    
    
    return answer;
}
cs

+ Recent posts