Daily LeetCode Challenge - 2352. Equal Row and Column Pairs

Min Young Kim·2023년 6월 13일
0

algorithm

목록 보기
171/198

Problem From.
https://leetcode.com/problems/equal-row-and-column-pairs/

오늘 문제는 nXn matrix 가 주어질때, 각각의 column 과 row 가 같은 쌍이 몇개 있는지 구하는 문제였다.
먼저 각 row 를 탐색하면서 map 에 각각의 원소가 몇개 있는지 구한다.
Example 1 을 예시로 들면 map 에는 key 값 "3,2,1" 로 1 이 들어가는 식이다.
그 다음 column 을 탐색하면서 각각의 원소를 모두 더해서 string 으로 만든 값을 map 에 key 값으로 사용하여, value 를 answer 에 누적시켜서 더해주면 답을 구할 수 있다.

class Solution {
    fun equalPairs(grid: Array<IntArray>): Int {
        
        var answer = 0
        
        val map = mutableMapOf<String, Int>()
        
        for(i in 0 until grid.size) {
            val sb = StringBuilder()
            
            for(j in 0 until grid.size) {
                sb.append("${grid[i][j]},")
            }
            
            map[sb.toString()] = map.getOrDefault(sb.toString(), 0) + 1
        }
        
        for(i in 0 until grid.size) {
            val sb = StringBuilder()
            
            for(j in 0 until grid.size) {
                sb.append("${grid[j][i]},")
            }
            
            answer += map.getOrDefault(sb.toString(), 0)
            
        }
        
        return answer
        
    }
}
profile
길을 찾는 개발자

0개의 댓글