728x90
📑문제링크
https://www.acmicpc.net/problem/2230
💻코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
int[] arr = new int[N];
for (int i = 0; i < N; i++) {
arr[i] = Integer.parseInt(br.readLine());
}
Arrays.sort(arr);// 탐색을 위해 정렬
int leftIndex = 0;
int rightIndex = 0;
int answer = 2000000001;
while (rightIndex < N) {
int currentDiv = arr[rightIndex]-arr[leftIndex];
if(currentDiv < M){// M보다 작은 경우, 정답이 될 수 없음, 오른쪽 인덱스 옮기기
rightIndex++;
continue;
}
if(currentDiv == M){// M과 같은 경우, 더 이상 작은 정답 찾을 수 없음, 탐색 종료
answer = M;
break;
}
//그 외, 더 작은 수가 정답이 됨, 왼쪽 인덱스 옮기기
answer = Math.min(answer, currentDiv);
leftIndex++;
}
System.out.println(answer);
}
}
728x90
'Algorithm > Baekjoon' 카테고리의 다른 글
[Algorithm/Baekjoon] 스카이라인 쉬운거 - 1863 (G4/JAVA) (0) | 2025.06.16 |
---|---|
[Algorithm/Baekjoon] 별 찍기 - 10 - 2447 (G5/JAVA) (1) | 2025.06.04 |
[Algorithm/Baekjoon] 1, 2, 3 더하기 7 - 15992 (S1/JAVA) (0) | 2025.05.12 |
[Algorithm/Baekjoon] 카우버거 알바생 - 17208 (G4/JAVA) (0) | 2025.03.10 |
[Algorithm/Baekjoon] 목장 건설하기 - 14925 (G4/JAVA) (0) | 2025.02.12 |