본문 바로가기
algorithm

[프로그래머스]가까운수 - java, python

by skysline 2023. 3. 12.
반응형

`가까운 수`

문제 설명

정수배열 array와 정수 n이 매개변수로 주어질때,

array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요.

입출력 예


입출력 예 #1

3,10,28 중 20 과 가장 가까운 수는 28 입니다.

입출력 예 #2

10,11,12 중 13 과 가장 가까운 수는 12 입니다.  .

java code

class Solution {
    public int solution(int[] array, int n) {
        int answer = array[0]; // 초기값 설정
        int min = Math.abs(array[0] - n); // 초기값 설정

        for (int i = 0; i < array.length; i++) {
            int calc = Math.abs(array[i] - n);
            if (calc < min|| (calc == min && array[i] < answer)){ // 현재 값이 최솟값보다 작을 경우
                min = calc;
                answer = array[i];
            }
        }
        return answer;
    }
}

python code

def solution(array, n):
    array.sort()
    answer = array[0]
    for i in range(len(array)):
        if abs(array[i]-n) < abs(answer-n):
            answer = array[i]
        if answer == n:
            break
    return answer
반응형

댓글