BOJ/백준-3135-python

cosmos·2022년 1월 28일
0
post-thumbnail
post-custom-banner

문제

풀이

  • 첫 줄에 정수 a와 b가 주어진다.
  • 다음 줄엔 정수 n이 주어진다.
  • 다음 n개의 줄엔 미리 지정되어 있는 주파수가 주어진다.
  • 주파수 이동 명령은 아래와 같다.
    -> 주파수를 1 증가시킨다.
    -> 주파수를 1 감소시킨다.
    -> 미리 지정되있는 주파수로 이동한다.
  • 주파수 a에서 b로 갈 때 눌러야 하는 버튼수의 최솟값을 출력하라.

코드

# boj, 3135: 라디오, python3
import sys

input = sys.stdin.readline

def solve(start, end, l):
    if end in l:
        return 1

    near_l = []
    result = 0

    for x in l:
        near_l.append(abs(end - x))

    near_num = min(near_l)

    if abs(end-start) <= near_num:
        near_num = abs(end-start)
    else:
        result += 1

    while near_num != 0:
        near_num -= 1
        result += 1

    return result

if __name__ == '__main__':
    a, b = map(int, input().split())
    n = int(input())
    frequency = [int(input()) for _ in range(n)]

    print(solve(a, b, frequency))

결과

출처 & 깃허브

boj
github

post-custom-banner

0개의 댓글