반응형
오늘의 학습 키워드
- 이분탐색
문제 탐색하기
문제 풀이 설계하기
이분 탐색으로 문제 풀이하였습니다.
코드
import java.io.*;
import java.math.*;
import java.util.*;
public class Main{
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int t = sc.nextInt();
int min = Integer.MAX_VALUE;
for(int i=0; i<n; i++) {
int s = sc.nextInt();
int l = sc.nextInt();
int c = sc.nextInt();
int answer = Integer.MAX_VALUE;
int left = 0;
int right = c-1;
while(left <= right) {
int mid = (left + right) / 2;
int dept = s + l * mid;
if(dept >= t) {
answer = dept;
right = mid - 1;
}else {
left = mid + 1;
}
}
if(answer != Integer.MAX_VALUE) {
min = Math.min(min, answer - t);
}
}
System.out.println(min == Integer.MAX_VALUE ? -1 : min);
}
}
오늘의 회고
이분탐색 문제를 계속해서 풀고있지만 답을 내는 규칙(?)을 찾기가 어려워서 좀 더 연습이 필요할 것 같다는 생각을 했습니다.
반응형
'TIL(Today I Learned)' 카테고리의 다른 글
99클럽 코테 스터디 20일차 TIL + 백준 4158 (CD, java) (0) | 2025.04.25 |
---|---|
99클럽 코테 스터디 19일차 TIL + 백준 20551 (Sort 마스터 배지훈의 후계자, java) (1) | 2025.04.24 |
99클럽 코테 스터디 17일차 TIL + LeetCode 1385 (Find the Distance Value Between Two Arrays, java) (0) | 2025.04.22 |
99클럽 코테 스터디 16일차 TIL + LeetCode 349 (Intersection of Two Arrays, java) (0) | 2025.04.21 |
99클럽 코테 스터디 15일차 TIL + 백준25325 (학생 인기도 측정, java) (0) | 2025.04.20 |