개발계발
프로그래머스 - 특이한 정렬(120880) 본문
문제 설명
제한사항
접근 방식
- numlist의 각 원소에서 n을 뺀 절대값을 포함한 2차원 배열 생성
- 생성한 배열의 절대값과 크기를 기준으로 정렬
풀이 코드
def solution(numlist, n):
answer = []
# 절대값을 포함해 정렬할 2차원 배열
sorted_by_n = []
# numlist의 값을 절대값을 포함해 추가
for num in numlist:
sorted_by_n.append([num, abs(num-n)])
# 절대값을 기준으로 정렬, 절대값이 같다면 -x[0]을 기준(num의 크기, 내림차순)으로 정렬
sorted_by_n.sort(key = lambda x : (x[1], -x[0]))
for num in sorted_by_n:
answer.append(num[0])
return answer
'알고리즘' 카테고리의 다른 글
프로그래머스 - 분수의 덧셈(120808) (0) | 2024.04.23 |
---|---|
프로그래머스 - 다항식 더하기(120863) (0) | 2024.04.23 |
프로그래머스 - 평행(120875) (0) | 2024.04.19 |
스택과 큐 (0) | 2024.03.28 |
검색 알고리즘 (1) | 2024.03.27 |