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 |