상상쓰

[백준] 라디오 본문

Coding Test

[백준] 라디오

상상쓰 2021. 6. 28. 01:52

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 와 미리 지정돼있는 N 개의 주파수 중에서 B 와의 가장 작은 차이를 구하면 된다.

 

가장 작은 차이가 A 라면 answer 을 0 부터, N 개의 주파수 중 하나라면 answer 을 1 부터 시작하여 계산하여 가장 작은 차이(이제부터는 1 MHZ 씩 이동하는 경우밖에 없으므로) 를 더해주면 된다.

 

N 개의 주파수 중 B 와의 차이가 A 와 B 와의 차이랑 같은 것이 존재한다면 answer 을 0 부터 시작하는 A 에서 출발해야 하므로 부등호를 '<' 로 설정한다. 

 

import sys

A, B = map(int, sys.stdin.readline().split())
N = int(sys.stdin.readline())
answer = 0
S = abs(B - A)

for i in range(N):
    T = abs(B - int(sys.stdin.readline()))

    if T < S:
        answer = 1
        S = T

answer += S

print(answer)

'Coding Test' 카테고리의 다른 글

[프로그래머스] 디스크 컨트롤러  (0) 2021.06.29
[프로그래머스] 순위  (0) 2021.06.29
[백준] A → B  (0) 2021.06.26
[프로그래머스] 위장  (0) 2021.06.24
[프로그래머스] 짝지어 제거하기  (0) 2021.06.23
Comments