문제
https://school.programmers.co.kr/learn/courses/30/lessons/120890
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
정수 배열 array, 정수 n이 주어질 때, array에 들어있는 정수 중에서 n과 가장 가까운 수를 반환하는 문제이다.
나 같은 경우 case 리스트를 만들어 array배열을 순회하면서 array배열의 요소와 n을 뺀 값의 절대값한 값들을 모은 다음 그 중에서 제일 적은 수의 인덱스를 찾아 array에 그대로 대입하여 문제를 해결 하였다.
해당 문제를 해결하기 위해서는 가장 가까운 수가 여러개 일경우도 생각해야 하는데 이는 array배열을 정렬함으로써 무조건 index로 찾은 값이 제일 적은 수가 되도록 하였다.
def solution(array, n):
array.sort()
case = [abs(num - n) for num in array]
return array[case.index(min(case))]
'Algorithm > Programmers' 카테고리의 다른 글
프로그래머스 LV0 특별한 이차원 배열1 (0) | 2023.08.26 |
---|---|
프로그래머스 LV0 세 개의 구분자 (0) | 2023.08.26 |
프로그래머스 LV0 k의 개수 (0) | 2023.08.26 |
프로그래머스 LV0 등차수열의 특정한 항만 더하기 (0) | 2023.08.26 |
프로그래머스 LV0 qr code (0) | 2023.08.26 |