728x90
반응형
https://www.acmicpc.net/problem/3135
B번 채널에 최소 몇번만에 도달할 수 있는지 확인하는 문제입니다.
A와 N개의 주파수 중 B와 차이가 가장 적은 주파수로 이동한 후, 그 차이만큼 더한값을 출력하면 됩니다.
단, A가 가장 차이가 적은 경우 +1을 하시면 안됩니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
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 a = Integer.parseInt(st.nextToken()), b = Integer.parseInt(st.nextToken());
int min = Math.abs(a - b);
int n = Integer.parseInt(br.readLine());
boolean flag = false;
while(n --> 0) {
int num = Integer.parseInt(br.readLine());
if(Math.abs(num - b) < min) {
min = Math.abs(num - b);
flag = true;
a = num;
}
}
System.out.print(min + (flag ? 1 : 0));
}
}
728x90
반응형
'백준 > 1 - 5000' 카테고리의 다른 글
[백준] 2785번 : 체인 (0) | 2024.11.09 |
---|---|
[백준] 1715번 : 카드 정렬하기(JAVA) (0) | 2021.10.29 |
[백준] 2075번 : N번째 큰 수(JAVA) (0) | 2021.10.25 |
[백준] 1300번 : K번째 수(JAVA) (0) | 2021.10.18 |
[백준] 2199번 : DNA 해독2(JAVA) (0) | 2021.10.14 |
댓글