728x90
반응형
이분 탐색을 이용한 결정 알고리즘
1. 가능한 범위를 찾는다.
2. 이분 탐색을 이용해, 범위를 좁히는 함수를 만든다.
3. 해당하는 범위의 중간값이 조건을 만족하는지 확인하는 함수를 만든다.
#해당 길이만큼 곡의 길이가 되는지 확인하는 함수
public int count(int[] arr, int capacity) {
int cnt = 1, sum = 0;
for (int x : arr) {
if (sum + x > capacity) {
cnt++;
sum = x;
} else
sum += x;
}
return cnt;
}
# 해당 거리만큼 말의 거리가 되는지 확인하는 함수
public int count(int mid, int m, int[] arr) {
int cnt=1;
int ep=arr[0];
for(int i=1;i<arr.length;i++) {
if(arr[i]-ep>=mid) {
cnt++;
ep=arr[i];
}
}
return cnt;
}
: 먼저 한 개를 대입 후, 그 값을 이용해 구현한다.
728x90
반응형
'Java > Java 알고리즘 인프런' 카테고리의 다른 글
HashMap 값으로 키 가져오기 (0) | 2022.06.06 |
---|---|
[Ch.06 - SortSearch] 10. 마구간 정하기(결정알고리즘)## (+ 시뮬레이션) (0) | 2022.06.05 |
[Ch.06 - SortSearch] 09. 뮤직비디오(결정알고리즘) ## (0) | 2022.06.05 |
stream 메서드를 이용해 간단히 값 구하기 (0) | 2022.06.05 |
[Ch.06 - SortSearch] 08. 이분검색 ## (0) | 2022.06.05 |