문제(출처: https://www.acmicpc.net/problem/16756)
< Pismo >
문제 풀이
구간에 있는 숫자들의 최댓값과 최솟값의 차이로 최솟값의 구간을 찾기 위해 인접한 값을 이용하여 구한다.
만약 4 3 1 이 주어진다면 4-3=1로 최솟값이지만 구간을 더 늘리면 4-1=3이 되기 때문이다.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class _16756_ { // Pismo
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int N = Integer.parseInt(bf.readLine());
st = new StringTokenizer(bf.readLine());
int arr[] = new int[N];
for (int i = 0; i < N; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
int min = Integer.MAX_VALUE;
for (int i = 0; i < N - 1; i++) {
int a = Math.max(arr[i], arr[i + 1]);
int b = Math.min(arr[i], arr[i + 1]);
min = Math.min(min, a - b);
}
System.out.println(min);
}
}
변수)
N : 배열 크기
arr : 배열
min : 최솟값
배열 크기 N과 N만큼 배열 값을 입력받아 arr에 저장한다. 인접한 배열 2개의 값을 활용하여 큰 값 - 작은 값을 구해 최솟값을 구한다. 최종 min값을 출력한다.

'🌞Algorithm > 🔥Baekjoon' 카테고리의 다른 글
| [Baekjoon] 10689_Hamza (1) | 2025.05.23 |
|---|---|
| [Baekjoon] 4679_The Snail (1) | 2025.05.22 |
| [Baekjoon] 6325_Definite Values (1) | 2025.05.19 |
| [Baekjoon] 21030_Frequent Alphabet (2) | 2025.05.16 |
| [Baekjoon] 10770_Rövarspråket (1) | 2025.05.15 |