[LeetCode] Number of Equivalent Domino Pairs

아르당·2026년 4월 3일

LeetCode

목록 보기
240/254
post-thumbnail

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

Problem

주어진 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)의 개수를 반환해라.

Example

#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

Constraints

  • 1 <= dominoes.length <= 4 * 10^4
  • dominoes[i].length == 2
  • 1 <= dominoes[i][j] <= 9

Solved

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

0개의 댓글