코린이의 소소한 공부노트

[LeetCode/Easy] 1351. Count Negative Numbers in a Sorted Matrix 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 1351. Count Negative Numbers in a Sorted Matrix

무지맘 2022. 12. 24. 02:12

1. Input

1) mn열 행렬 grid

 

2. Output

1) grid 내의 음수의 개수

 

3. Constraint

1) m == grid.length

2) n == grid[i].length

3) 1 <= m, n <= 100

4) -100 <= grid[i][j] <= 100

5) grid[i]의 요소들은 내림차순으로 정렬되어 있다.

 

4. Example

Input: grid = [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]] -> Output: 8

 

5. Code

1) 첫 코드(2022/06/16)

int count = 0;
for(int i=0 ; i<grid.length ; i++){
    for(int j=grid[i].length-1 ; j>=0 ; j--){
        if(grid[i][j]<0) count++;
        else break;
    } // for j
} // for i

return count;

2) 다시 풀어본 코드(2022/12/24)

int answer = 0;
for(int i=0 ; i<grid.length ; i++){
    for(int j=0 ; j<grid[0].length ; j++){
        if(grid[i][j]<0){
            answer += (grid[0].length-j); break;
        }
    } // for j
} // for i
return answer;

  - 1번보다 성능이 훨씬 좋아졌다.