본문 바로가기

Algorithm/Implementation

(Python3) - 프로그래머스(코딩테스트 입문) : 가까운 수

반응형

https://school.programmers.co.kr/learn/courses/30/lessons/120890

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

구현 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

1. 정답 answer, n과의 차이 diff를 선언 후 큰 값으로 초기화합니다.

 

2. array를 오름차순으로 정렬합니다.

📔 풀이과정

1. array의 원소를 순회하며 다음을 진행합니다.

 

2. diff가 현재원소와 n의 차이보다 초과라면 answer를 num으로 갱신해주면서 diff도 해당 차이로 갱신합니다. 오름차순으로 정렬되어 있기 때문에 차이도 작으면서 수도 작은 형태가 됩니다.

📔 정답 출력 | 반환

answer를 반환합니다.


📕 Code

📔 Python3

def solution(array, n):
    answer = 0x3f3f3f3f
    diff = 0x3f3f3f3f
    array.sort()
    for num in array:
        if diff > abs(num - n):
            answer = num
            diff = abs(num - n)
    return answer

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.