[코딩테스트 입문] 특이한 정렬


내 코드

def solution(numlist, n):
    answer = ()
    x=()
    numlist.sort(reverse=True)
    
    for i,num in enumerate(numlist):
        answer.append((i,abs(num-n)))
        
    answer.sort(key = lambda x:x(1))
    for i in answer:
        x.append(numlist(i(0)))
    return x

numlist를 가장 큰 숫자로 정렬
대답은 (numlist의 인덱스, n의 거리)의 목록입니다.
n으로부터의 거리를 기준으로 답변 정렬
거리가 가장 짧은 자식의 numlist 인덱스를 사용하여 x에 삽입
세상을 복잡하게 하다

다른 코드

def solution(numlist, n):
    answer = sorted(numlist,key = lambda x : (abs(x-n), n-x))
    return answer

나는 하나를 알고 다른 하나를 몰랐다
복잡하게 할 필요가 없었고 바로 정리했습니다.
정렬 기준 (abs(xn),nx)
abs(xn) -> n으로부터의 거리, 절대값으로 정렬
nx -> x가 n보다 크면 양수, n보다 작으면 음수입니다.

멍청한 바보^,^