728x90
반응형
1. 오늘의 학습 문제
문제
https://school.programmers.co.kr/learn/courses/30/lessons/43236
코드
import java.util.*;
class Solution {
public int solution(int distance, int[] rocks, int n) {
int answer = 0;
Arrays.sort(rocks);
int left = 1;
int right = distance;
while(left <= right){
int mid = (left + right)/2;
if(getRemovedRockCnt(rocks, mid, distance) <= n){
answer = mid;
left = mid + 1;
} else {
right = mid - 1;
}
}
return answer;
}
public int getRemovedRockCnt(int[] rocks, int mid, int distance){
// mid가 바위(지점) 간 최소 거리가 되어야 함
// 그렇게 하기 위해 제거 해야할 바위의 개수를 리턴한다.
int before = 0;
int end = distance;
int removeCnt = 0;
for(int i = 0; i < rocks.length; i++){
if(rocks[i] - before < mid) {
removeCnt++;
continue;
}
before = rocks[i];
}
if(end - before < mid) removeCnt++;
return removeCnt;
}
}
#99클럽 #코딩테스트 준비 #개발자 취업 #항해99 #TIL
728x90
반응형
'공부 > 2024 항해99코딩클럽' 카테고리의 다른 글
99클럽 3기 코테 스터디 16일차 TIL /[프로그래머스] N-Queen 자바 (0) | 2024.08.06 |
---|---|
99클럽 3기 코테 스터디 15일차 TIL /[프로그래머스] 소수찾기 자바 (0) | 2024.08.05 |
99클럽 3기 코테 스터디 13일차 TIL /[프로그래머스] 입국심사 자바 풀이 이분탐색 (0) | 2024.08.04 |
99클럽 3기 코테 스터디 12일차 TIL /[백준] 1135 뉴스 전하기 자바 (0) | 2024.08.03 |
99클럽 3기 코테 스터디 11일차 TIL /[프로그래머스] 가장 큰 수 자바 풀이 (0) | 2024.08.01 |