문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
주어진 dominoes 목록에서 dominoes[i] = [a, b]는 dominoes[j] = [c, d]와 동등한데, 이는 (a == c이고 b == d)이거나 (a == d이고 b == c)인 경우에만 성립합니다. 즉, 한 도미노를 회전시켜 다른 도미노와 같게 만들 수 있습니다.
0 <= i < j < dominoes.length이고 dominoes[i]와 dominoes[j]가 동일한 쌍 (i, j)의 개수를 반환해라.
#1
Input: dominoes = [[1, 2], [2, 1], [3, 4], [5, 6]]
Output: 1
#2
Input: dominoes = [[1, 2], [1, 2], [1, 1], [1, 2], [2, 2]]
Output: 3
class Solution {
public int numEquivDominoPairs(int[][] dominoes) {
int[] counts = new int[100];
int result = 0;
for(int[] domino : dominoes){
int val1 = domino[0];
int val2 = domino[1];
int key = Math.min(val1, val2) * 10 + Math.max(val1, val2);
result += counts[key];
counts[key]++;
}
return result;
}
}