문제
주어진 리스트 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