[HackerRank] Beautiful Pairs

아르당·2024년 5월 14일
0

HackerRank

목록 보기
88/109
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

당신은 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에 정확하게 하나의 요소를 바꿔서 분리된 쌍의 아름다운 세트의 최대 값을 구해라.

Function Description

beautifulPairs 함수를 완성해라.
beautifulPairs 함수는 아래와 같은 매개변수를 가지고 있다.

  • A: 정수형 배열
  • B: 정수형 배열

Constraints

  • 1 <= n <= 10^3
  • 1 <= A[i], B[i] <= 10^3

All code

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;
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글