반응형

 

1. 문제

 

 

0으로 초기화돼 있는 m x n의 매트릭스 M과 2차원배열 ops가 주어진다.

ops는 [ai, bi] 두 개의 요소를 가지고 0 <= x < ai, 0 <= y < bi를 만족하는 M[x][y]의 요소들을 각 1씩 증가시켜야 하는 것을 의미한다.

 

모든 작업 수행 후 매트릭스 안에서 가장 큰 값이 몇 개 있는지 리턴하면 된다.

 

 


 

2. 풀이 과정

 

굳이 매트릭스 M을 만들어서 그 안에 값을 넣어가며 확인하지 않아도 풀 수 있는 문제다.

 

가로는 ops[i]의 x 중에 최솟값만큼이 제일 많이 나타날 거고, 세로는 ops[i]의 y 중에 최솟값만큼이 제일 많이 나타날 것이다.

두 최솟값의 곱을 리턴해주면 된다.

 

public class Solution {
    public int MaxCount(int m, int n, int[][] ops) {
        int xMin = m;
        int yMin = n;

        for(int i = 0, length = ops.Length; i < length; ++i)
        {
            xMin = Math.Min(xMin, ops[i][0]);
            yMin = Math.Min(yMin, ops[i][1]);
        }

        return xMin * yMin;
    }
}

 

 

 

 

반응형

'LeetCode 풀이노트' 카테고리의 다른 글

[C#] 1. Two Sum  (0) 2023.05.30
[C#] 705. Design HashSet  (0) 2023.05.30
[C#] 944. Delete Columns to Make Sorted  (0) 2023.05.25
[C#] 506. Relative Ranks  (0) 2023.05.25
[C#] 1689. Partitioning Into Minimum Number Of Deci-Binary Numbers  (0) 2023.05.25