nueijeel

[프로그래머스][python] Lv.0 - 가까운 수 본문

코딩테스트/프로그래머스

[프로그래머스][python] Lv.0 - 가까운 수

nueijeel 2023. 3. 8. 22:33

📌 문제 설명

 

정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요.

 

 

📌 작성한 코드

 

def solution(array, n):
    d = dict.fromkeys(array,0)
    for key in d.keys():
        d[key] = abs(key-n)
    answer = [k for k,v in d.items() if v==min(d.values())]
    return min(answer)

 

배열에서 n의 위치를 찾고, n 양 옆의 두 수와 n의 차이를 비교하려고 했는데 배열 원소가 한 개 일수도 있고, n이 배열의 맨 오른쪽이나 맨 왼쪽에 위치할 수도 있기때문에 그 방법은 못 쓰게 되었다.

다시 생각해보다가 dict형 변수에 배열 요소와 각 요소 별 n과의 차이를 키, 값으로 두어 출력하는 방법을 사용했다.

 

728x90