[Hackerrank] Week5 - Max Min

DreamJJW·2023년 4월 11일
0

Hackerrank

목록 보기
16/18

문제


주어진 리스트 arr에서 k만큼의 숫자를 뽑은 뒤 그 숫자들 사이에서 max값과 min값의 차를 구하고, 그 차의 최솟값(unfairness)을 구하는 문제.

풀어서 생각해보면,

arr[k] - arr[i], 즉 k만큼 차에서 unfairness값을 구하면 되는 문제이다.

코드

def maxMin(k, arr):
    arr.sort()
    temp = 1000000001 // 문제의 제한조건인 10^9
    for i in range(len(arr) - k + 1):
        unfair = arr[i + k - 1] - arr[i]
        if temp > unfair:
            temp = unfair
    return temp
profile
간절한 사람

0개의 댓글