항해99_코테스터디
[항해99]99클럽 코테 스터디 15일차 TIL + 이분탐색
아설아
2024. 6. 11. 23:41
1. 오늘의 학습 키워드 : 이분 탐색(Binary Search)
오늘의 문제는 정렬된 2차원 배열에서 음수의 개수를 찾는 문제였습니다.
2. 오늘의 문제 : Count Negative Numbers In a sorted matrix
https://leetcode.com/problems/count-negative-numbers-in-a-sorted-matrix/submissions/
클럽장님께서 오늘은 완전탐색과 이진탐색을 같이 혼합해 풀라고 하셨는데 저는 그 말에 더 헷갈려서 시간을 쓴 것 같네요... 근데 혼합하는게 맞았어요!
3. 풀이
class Solution {
public int countNegatives(int[][] grid) {
int n = 0;
for(int i=0; i< grid.length; i++){
int left = 0, right = grid[i].length - 1;
while(left<=right){
int mid = (left + right) / 2;
if(grid[i][mid] >= 0)
left = mid + 1;
else
right = mid - 1;
}
n += (grid[i].length-1) - right;
}
return n;
}
}
리트코드 discuss를 엄청 찾아가며.. O(n+m)은 어떻게 하는ㄴ건지 찾아보았습니다....ㅋㅋ ㅜㅜ
너무 어렵네요 정말... 이렇게 easy문제도 못푸나 풀면서 현타가 너무 왔어요..
3. 회고
처음에 계속 오류가 나서 왜그런가.. 했는데 n*m배열인걸 간과한거였습니다. 예시에 다 n*n만 나와서 그거만 가지고 grid.length라고 했는데 grid[i]를 꼭 붙어야했어요!!!! 지피티에게 물어봤었는데 참...잘알려주더군요