LeetCode [JS] > 1128. Number of Equivalent Domino Pairs

2025. 4. 7. 22:42ยท๐Ÿ”’Algorithm

๋ฌธ์ œ๋งํฌ

https://leetcode.com/problems/number-of-equivalent-domino-pairs/description/

ํ’€์ด

์ฒ˜์Œ ํ‘ผ ๋ฐฉ์‹์ด๋‹ค. ์–ด๋ ต์ง€ ์•Š๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์—ˆ์œผ๋ฉฐ ์‹œ์ž‘ ๋ณต์žก๋„๋Š” O(n) ์ด๋‹ค. ์ง€๊ธˆ ์ƒ๊ฐํ•ด๋ณด๋ฉด ๊ตณ์ด arr.sort()๋ฅผ ํ†ตํ•ด ์ •๋ ฌํ•œ๋’ค join์œผ๋กœ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ ๋’ค ๋‹ค์‹œ ์—ฐ์‚ฐ์„ ํ• ๊ฒŒ ์•„๋‹ˆ๊ณ  ์ฒ˜์Œ arr๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ ๋ชจ๋“  ์—ฐ์‚ฐ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ด๋Ÿฐ ๊ฐœ์„ ์ ๋“ค์ด ๋ณด์—ฌ ํ•œ๋ฒˆ ๋” ์ •๋ฆฌ๋ฅผ ํ–ˆ๋‹ค. (ํ•˜๋‹จ 2๋ฒˆ์งธ ์ฝ”๋“œ ํ™•์ธ)

/**
 * @param {number[][]} dominoes
 * @return {number}
 */
var numEquivDominoPairs = function (dominoes) {
    dominoes = dominoes.map((arr) => {
        const key = arr.sort((prev, next) => prev - next).join("");
        return key;
    });

    let map = new Map();

    for (const key of dominoes) {
        map.set(key, (map.get(key) || 0) + 1);
    }

    let pairs = 0;
    map.values().forEach((n) => {
        pairs += n * (n - 1) * 0.5;
    });

    return pairs;
};

๋‘๋ฒˆ์งธ๋กœ ํ‘ผ ๋ฐฉ์‹์ด๋‹ค. ์—ฐ์‚ฐ์ด ๋”์šฑ ๊ฐ„๊ฒฐํ•ด์กŒ๋‹ค.

/**
 * @param {number[][]} dominoes
 * @return {number}
 */
var numEquivDominoPairs = function (dominoes) {
    let map = new Map();
    let pairs = 0;
    for (const [n1, n2] of dominoes) {
        let key = ''+Math.max(n1, n2) + Math.min(n1, n2);
        map.set(key, (map.get(key) || 0) + 1);
        pairs += map.get(key) - 1;
    }

    return pairs;
};

 

 

'๐Ÿ”’Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

LeetCode[JS] > 1913. Maximum Product Difference Between Two Pairs  (0) 2025.04.09
LeetCode [JS] > 1496. Path Crossing  (0) 2025.04.08
LeetCode [JS] > 859. Buddy strings  (0) 2025.04.05
LeetCode [JS] > 2780. Minimum Index of a Valid Split  (0) 2025.04.05
LeetCode > 2208 Minimum Operations to Halve Array Sum  (0) 2025.04.05
'๐Ÿ”’Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • LeetCode[JS] > 1913. Maximum Product Difference Between Two Pairs
  • LeetCode [JS] > 1496. Path Crossing
  • LeetCode [JS] > 859. Buddy strings
  • LeetCode [JS] > 2780. Minimum Index of a Valid Split
devWarrior
devWarrior
  • devWarrior
    devWarrior
    devWarrior
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐ŸงฉDev (263)
      • โญFE (34)
      • ๐Ÿ”’Algorithm (155)
      • โž•Etc. (11)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
    • ๊ธ€์“ฐ๊ธฐ
    • ๊ด€๋ฆฌ
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ๊ตฌํ˜„
    leetcode
    react
    ํ”„๋ก ํŠธ์—”๋“œ
    FE
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    Algorithm
    node.js
    DFS
    ์‹ค๋ฒ„1
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
    ๊ทธ๋ฆฌ๋””
    ๋ฐฑ์ค€
    js
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    Easy
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
    Lv2
    dp
    ์‹ค๋ฒ„3
    ์‹ค๋ฒ„4
    ๊ณจ๋“œ5
    ์‹ค๋ฒ„2
    ์ž์Šค
    nodejs
    BFS
    ์ฝ”ํ…Œ
    javascript
    ์˜ค๋ธ”์™„
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
devWarrior
LeetCode [JS] > 1128. Number of Equivalent Domino Pairs
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”