Problem Solving/Baekjoon
[백준] 3135 라디오 - Greedy / Java
graycode
2023. 4. 6. 10:44
• 문제 링크
3135번: 라디오
첫 줄엔 정수 A와 B가 주어진다 (1 ≤ A, B < 1000, A ≠ B). 다음 줄엔 정수 N이 주어진다 (1 ≤ N ≤ 5). 다음 N개의 줄엔 미리 지정되어 있는 주파수가 주어진다 (주파수는 1000 보다 작다).
www.acmicpc.net
• 풀이 과정
현재 주파수와 목표 주파수의 차 - 1 을 버튼을 누르는 최소 횟수의 기본 값으로 지정한다.
이 후 입력받은 즐겨 찾기 주파수 값과 목표 주파수의 차를 구해 최소 값을 갱신하며,
마지막에 즐겨찾기 버튼을 누른 1회를 추가한 값을 정답으로써 출력한다.
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int n = Integer.parseInt(br.readLine());
int min = Math.abs(a - b) - 1;
while (n-- > 0)
min = Math.min(min, Math.abs(Integer.parseInt(br.readLine()) - b));
bw.write(String.valueOf(min + 1));
bw.flush();
}
}