
같은 수일 수도 있다. 이 말때문에 왜틀림???? 을 반복했다..
인덱스가 같으면 안된다
1 2 3 있으면 2를 두 번 고른다는게 아니라 1 2 2 이렇게 2개 있을 수 있다는 말..
두포인터 썼고 쉬우니까 그냥 넘어감..
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class BOJ2230 {
public static int getMinusMin(int[] numbers, int M){
int i = 0, j = 1, min = 2000000000, result;
while(j<numbers.length){
result = numbers[j] - numbers[i];
if(result == M)
return result;
else if(result > M){
min = Math.min(result, min);
i++;
if(j == i)
j++;
}
else
j++;
}
return min;
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N, M, i;
StringTokenizer st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken());
M = Integer.parseInt(st.nextToken());
int[] numbers = new int[N];
for(i=0;i<N;i++)
numbers[i] = Integer.parseInt(br.readLine());
Arrays.sort(numbers);
System.out.println(getMinusMin(numbers, M));
}
}
'코딩가딩가' 카테고리의 다른 글
| [JAVA]BOJ 11728, 배열 합치기 (0) | 2024.08.05 |
|---|---|
| [JAVA]BOJ 12891, DNA 비밀번호 (0) | 2024.08.04 |
| [JAVA]BOJ 1806, 부분합 (0) | 2024.08.03 |
| [JAVA]BOJ 2110, 공유기 설치 (0) | 2024.08.02 |
| [JAVA]BOJ 6236, 용돈 관리 (0) | 2024.08.02 |