피드로 돌아가기
Dev.toBackend
원문 읽기
O(M×N) 전수 조사를 O(log(M×N)) Binary Search로 최적화
Search a 2D Matrix
AI 요약
Context
정렬된 2D Matrix 구조에서 특정 Target 값을 찾는 문제 상황. 모든 셀을 탐색하는 Brute Force 방식의 높은 시간 복잡도로 인한 성능 저하 발생.
Technical Solution
- Row 간 연속적 정렬 속성을 활용한 2D Matrix의 1D Array 가상화 설계
- 가상 인덱스 mid를 2D 좌표로 변환하는 row = mid / cols 및 col = mid % cols 연산 적용
- 전체 데이터셋에 대한 글로벌 정렬 상태를 활용한 Binary Search 알고리즘 도입
- inclusive search range 설정을 통한 경계값 누락 방지 및 정확한 탐색 범위 보장
- 포인터 기반의 탐색 범위 축소로 불필요한 연산 제거
실천 포인트
1. 다차원 배열의 정렬 상태가 연속적인지 확인하여 1차원 가상화 가능 여부 검토
2. Binary Search 구현 시 low <= high 조건을 사용하여 마지막 요소 누락 가능성 차단
3. 인덱스 변환 시 나눗셈(/)과 나머지(%) 연산을 통한 좌표 매핑 정확성 검증