본문 바로가기
CodeSignal

Different Squares

by Doromi 2024. 1. 9.
728x90
반응형
다른 사각형(Different Squares)" 문제는 주어진 행렬(matrix)에서 모든 크기가 2x2인 서로 다른 사각형의 개수를 찾는 문제입니다. 각 서로 다른 2x2 사각형은 서로 다른 네 개의 요소로 구성되어야 합니다.
matrix = [[1, 2, 1],
          [2, 2, 2],
          [2, 2, 2],
          [1, 2, 3],
          [2, 2, 1]]
이때, 서로 다른 2x2 사각형은 다음과 같이 6개가 있습니다:

[1, 2]
[2, 2]

[2, 1]
[2, 2]

[2, 2]
[2, 2]

[2, 2]
[2, 3]

[2, 3]
[2, 2]

[2, 2]
[2, 1]

따라서 이 예제에서는 6이 정답이 됩니다.
int solution(int[][] matrix) {
    HashSet<string> squares = new HashSet<string>();
    
    for(int i = 0;i<matrix.Length-1;i++){
        for(int j = 0;j<matrix[i].Length-1;j++){
            int[] square = {
                matrix[i][j],matrix[i][j+1],matrix[i+1][j],matrix[i+1][j+1]
            };
        squares.Add(string.Join(",",square));
        
        }
    }
    return squares.Count;
}
HashSet<string>을 사용하여 중복을 허용하지 않는 2x2 사각형의 문자열 표현을 저장합니다
728x90
반응형

'CodeSignal' 카테고리의 다른 글

File Naming  (0) 2024.01.13
Count pairs in array whose sum is divisible by K  (0) 2024.01.10
sumUpNumbers  (0) 2024.01.08
Valid Time  (1) 2024.01.07
longestWord  (0) 2024.01.07