문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
당신은 N개의 정수가 포함되어있는 두 개의 배열 A와 B를 갖게 된다.
만약 A의 배열에서 i번째 요소와 B의 배열에서 j번째 요소가 같다면 (i, j)를 지시하는 쌍은 아름답다. 다시 말해서 A[i] = B[j]라면 (i, j)쌍은 아름답다. 아름다운 쌍을 포함하는 세트는 아름다운 세트라고 불리게 된다.
아름다운 세트는 모든 쌍(l[i], r[i])가 세트에 포함되어 있고, l[i]와 r[i]가 반복되지 않는 경우 분리된 쌍으로 불리게 된다. 예를 들어, A = [10, 11, 12, 5, 14]와 B = [8, 9, 11, 11, 5]라면 아름다운 세트 [(1, 2), (1, 3), (3, 4)]는 1이 반복되어서 분리된 쌍이 아니다.
당신의 작업이 B에 정확하게 하나의 요소를 바꿔서 분리된 쌍의 아름다운 세트의 최대 값을 구해라.
beautifulPairs 함수를 완성해라.
beautifulPairs 함수는 아래와 같은 매개변수를 가지고 있다.
public static int beautifulPairs(List<Integer> A, List<Integer> B) {
int pair = 0;
for (Integer i : A) {
int BIndex = B.indexOf(i);
if (BIndex > -1) {
pair++;
B.remove(BIndex);
}
}
return pair == A.size() ? pair - 1 : pair + 1;
}