본문 바로가기
백준/1 - 5000

[백준] 3135번 : 라디오

by lms0806 2024. 11. 13.
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
반응형

댓글