[LeetCode] 2352. Equal Row and Column Pairs, Medium

2025. 4. 16. 18:18·CodingTest/LeetCode
반응형

1. 문제

  • n x n 크기의 grid가 주어질 때, 행과 열이 같은 경우의 수를 반환하라.

2. 해결

function equalPairs(grid: number[][]): number {
    const rowMap = new Map<string, number>();
    const colMap = new Map<string, number>();

    for (let i = 0; i < grid.length; i++) {
        const row = grid[i].join(',');
        const col = grid.map(r => r[i]).join(',');

        rowMap.set(row, (rowMap.get(row) || 0) + 1);
        colMap.set(col, (colMap.get(col) || 0) + 1);
    }

    let ans = 0;

    for (const [str, rowCount] of rowMap) {
        const colCount = colMap.get(str) || 0;
        ans += rowCount * colCount;
    }

    return ans;
}
  • 이 문제는 접근을 잘하긴 했는데, 2가지 포인트를 놓쳤다.
  • row와 col의 수를 만들 때, 구분자 없이 저장했는데 이러면 [[11,1], [1, 11]]과 같이 연속된 문자열이 나타나는 경우 저장이 제대로 되지 않는다. => 별도 구분자가 필요.
  • rowMap을 탐색하면서, colMap에 존재하면 rowMap에 저장되어 있는 값을 더해주며 ans를 늘려갔는데,이러면 경우의 수가 제대로 고려되지 않는다 => row에 저장된 값과 col에 저장된 값을 곱해줘야 모든 경우의 수가 나온다.
    • 예를 들어, row에 2번 등장하는 패턴이 있고 col에 1번 등장한다고 할 때 [a,0] [b,0]으로 2번이 맞다.
    • 근데, row와 col 모두 2번 등장하는 경우, [a,0] [a,1] [b,0] [b,1]로 4번이 되야 한다.
    • 따라서 row의 가능한 수 * col의 가능한 수를 해야 한다.
저작자표시 (새창열림)
'CodingTest/LeetCode' 카테고리의 다른 글
  • [LeetCode] 735. Asteroid Collision, Medium
  • [LeetCode] 2390. Removing Stars From a String, Medium
  • [LeetCode] 1657. Determine if Two Strings Are Close, Medium
  • [LeetCode] 1207. Unique Number of Occurrences, Easy
뜸부깅
뜸부깅
코딩에 대한 여러 개인적인 생각을 정리하고 공부를 하는 공간입니다!!
  • 뜸부깅
    코오오딩
    뜸부깅
  • 전체
    오늘
    어제
    • Note (429)
      • Skill (31)
        • Java & Spring (9)
        • Javascript & HTML & CSS (0)
        • React (0)
        • Next.js (22)
      • CodingTest (389)
        • 백준 온라인 저지(BOJ) (140)
        • 프로그래머스(Programmers) (79)
        • LeetCode (170)
      • Algorithm & Data Structure (6)
      • [Project] 포트폴리오 (3)
        • Front end (3)
        • Back end (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    BOJ
    Java
    next 14
    TypeScript
    알고리즘
    boj1427
    백준7576
    백준7576자바
    leetcode 2236
    프로그래머스
    medium
    백준1427
    Easy
    백준1260
    boj2108
    백준2751
    백준
    component-scan
    meidum
    자바
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
뜸부깅
[LeetCode] 2352. Equal Row and Column Pairs, Medium
상단으로

티스토리툴바