본문 바로가기

Algorithm/Sorting

(Python3) - 프로그래머스(코딩테스트 입문) : 특이한 정렬

반응형

https://school.programmers.co.kr/learn/courses/30/lessons/120880

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

정렬 문제였습니다.

📕 풀이방법

📔 풀이과정

tuple을 반환하는 lambda함수를 만들어 sorted함수의 key로 전달합니다.1. 먼저 가까운 거리 abs(n-x)와 더 큰 값이 앞쪽에 오도록 -x를 함께 tuple로 만들어 줍니다.

 

2. 이를 key로 numlist를 정렬해 갱신해줍니다.

📔 정답 출력 | 반환

numlist를 반환합니다.


📕 Code

📔 Python3

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

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.