백준

백준 3135 라디오(Java)

Park DJ 2023. 2. 23. 14:44

https://www.acmicpc.net/problem/3135

 

3135번: 라디오

첫 줄엔 정수 A와 B가 주어진다 (1 ≤ A, B < 1000, A ≠ B). 다음 줄엔 정수 N이 주어진다 (1 ≤ N ≤ 5). 다음 N개의 줄엔 미리 지정되어 있는 주파수가 주어진다 (주파수는 1000 보다 작다).

www.acmicpc.net


 

해석 및 팁

 


 

이 문제는 먼저 버튼을 누르는 경우와 누르지 않는 경우로 나누어집니다.  a와 b의 차이가 버튼을 눌렀을 때보다 작으면 누르지 않고 1개씩 조절해 주면 됩니다. 누르는 경우에는 b버튼과 차이가 가장 작은 버튼을 누르면 됩니다.

 


 

Java 코드

 


import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int gap = Integer.MAX_VALUE;
    int count = 0;
    int a = sc.nextInt();
    int b = sc.nextInt();
    int n = sc.nextInt();
    int num = Math.abs(b - a);
    int arr[] = new int[n];
    

    for(int i = 0; i < n; i++) {
      arr[i] = sc.nextInt();
      gap = Math.min(gap, Math.abs(b - arr[i]));
    }

   if(num <= gap) count = num;
   else count = gap + 1;
    
    System.out.println(count);
  }
}