nueijeel
[프로그래머스][python] Lv.0 - 가까운 수 본문
📌 문제 설명
정수 배열 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
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스][python] Lv.0 - 중복된 문자 제거 (0) | 2023.03.08 |
---|---|
[프로그래머스][python] Lv.1 - 성격 유형 검사하기 (0) | 2023.03.08 |
[프로그래머스][python] Lv.1 - 로또의 최고 순위와 최저 순위 (0) | 2023.03.07 |
[프로그래머스][python] Lv.1 - 숫자 문자열과 영단어 (0) | 2023.03.06 |
[프로그래머스][python] Lv.0 - 공던지기 (0) | 2023.03.03 |