가까운 수 - 프로그래머스(python)

hh_mon__a·2023년 1월 4일
0

코딩테스트

목록 보기
7/14

문제

코딩

def solution(array, n):
    answer = {}
    array.sort(reverse=True)
    for i in array:
        answer[abs(i-n)] =i 
    return answer[min(answer)]
  • array를 순서정렬없이 하니 n=20이고, array에 10, 30이 순서로 있을 때 10이 먼저 들어가고 그 후 30이 들어가 결국 30이 나와 오답이 나왔었다.
  • (딕셔너리는 중복키를 인정하지 않는다.)
  • 해결방법: 순서를 내림차순으로 하면 작은값이 젤 마지막에 붙으니 뺀 값이 동일할 때 작은 값을 추출할 수 있었다.

다른 사람 풀이

solution=lambda a,n:sorted(a,key=lambda x:(abs(x-n),x))[0]
  • 충격
  • lambda로 풀다니...
  • 나랑 비슷한 방법이긴한데..대박입니다...
profile
데이터분석/데이터사이언스/코딩

0개의 댓글