이중포인터를 이용하여 B가 가장 많이 이길 수 있어야 한다.
우선 두개의 배열을 모두 정렬해준다.
그 이후 while문에서 이중 포인터로 이동한다.
여기서 발생하는 경우는 크게 두가지이다.
1. A가 더 크다 -> 이때, B의 index는 고정하고 A가 더 작아질 때까지 이동한다.
2. B가 더 크다 -> 이때, A와 B의 index를 모두 이동하며, answer를 추가한다.
function solution(A, B) {
var answer = 0
A.sort((a,b) => b-a)
B.sort((a,b) => b-a)
// 이중 포인터로 이동시킨다.
let i =0; // A에서 이동한다
let j = 0; // B에서 이동한다
while(i < A.length){
if(A[i] < B[j]) { // B가 더 컸던 위치이다. 이 경우 i와 j를 동시에 이동시킨다.
i++;
j++;
answer++;
}
else { // A가 더 컸던 경우이다. 현재 B는 가장 큰값이므로, A에서 더 작은 값으로 이동할때까지 A의 포인터를 이동시킨다.
i++;
}
}
return answer;
}