문제
https://school.programmers.co.kr/learn/courses/30/lessons/120880
설계
def solution(numlist, n):
answer = []
bucket = [1] * len(numlist)
while sum(bucket) > 0:
absV, absI = 999999, 0
for i in range(len(numlist)):
if bucket[i] == 1:
if abs(n - numlist[i]) < absV:
absV = abs(n - numlist[i])
absI = i
elif abs(n - numlist[i]) == absV:
if numlist[absI] < numlist[i]:
absV = abs(n - numlist[i])
absI = i
bucket[absI] = 0
answer.append(numlist[absI])
return answer
'PS (Problem Solving) > Programmers' 카테고리의 다른 글
[프로그래머스] 배열 회전시키기 - 파이썬 (0) | 2023.01.24 |
---|---|
[프로그래머스] 문자열 정렬하기 (1) - 파이썬 (0) | 2023.01.24 |
[프로그래머스] 등수 매기기 - 파이썬 (0) | 2023.01.24 |
[프로그래머스] 로그인 성공? - 파이썬 (0) | 2023.01.23 |
[프로그래머스] 치킨 쿠폰 - 파이썬 (0) | 2023.01.23 |