반응형
오늘의 학습 키워드
- 이분탐색
문제 탐색하기
문제 풀이 설계하기
arr1[i ] - arr2[j] 의 절댓값이 주어진 d의 값보다 클 때의 arr1[i] 의 수를 카운트해서 리턴해주면 되는 문제입니다.
arr2[j]를 탐색할때 이분탐색을 통해 진행하는 것으로 문제를 풀었습니다.
코드
class Solution {
public int findTheDistanceValue(int[] arr1, int[] arr2, int d) {
Arrays.sort(arr1);
Arrays.sort(arr2);
int cnt = 0;
for(int i=0; i<arr1.length; i++){
if(binarySearch(arr1[i], arr2, d)) cnt++;
}
return cnt;
}
private boolean binarySearch(int first, int[] arr2, int target){
int left = 0;
int right = arr2.length - 1;
while(left <= right){
int mid = left + (right-left)/2;
if(Math.abs(first - arr2[mid]) > target){
if(first >= arr2[mid]){
left = mid+1;
}else{
right = mid-1;
}
}else{
return false;
}
}
return true;
}
}
오늘의 회고
이분탐색 문제를 차차 풀어가며 익숙해져야할 것 같습니다.
반응형
'TIL(Today I Learned)' 카테고리의 다른 글
99클럽 코테 스터디 19일차 TIL + 백준 20551 (Sort 마스터 배지훈의 후계자, java) (1) | 2025.04.24 |
---|---|
99클럽 코테 스터디 18일차 TIL + 백준 1590 (캠프가는 영식, java) (0) | 2025.04.23 |
99클럽 코테 스터디 16일차 TIL + LeetCode 349 (Intersection of Two Arrays, java) (0) | 2025.04.21 |
99클럽 코테 스터디 15일차 TIL + 백준25325 (학생 인기도 측정, java) (0) | 2025.04.20 |
99클럽 코테 스터디 14일차 TIL + 백준29723 (브실이의 입시전략, java) (0) | 2025.04.17 |