[프로그래머스] 가까운 수 - JAVA

2023. 4. 9. 20:35프로그래머스 - JAVA

문제

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


조건

1 ≤ array의 길이 ≤ 100
1 ≤ array의 원소 ≤ 100
1 ≤ n ≤ 100
가장 가까운 수가 여러 개일 경우 더 작은 수를 return 합니다.


코드

import java.util.Arrays;

class Solution {
    public int solution(int[] array, int n) {
        int y= 0;
        int ar = array.length;
        Arrays.sort(array);
        if(array[ar-1]<=n){ return array[ar-1]; }
         else if (array[0]>=n){ return array[0];}
        for(int i = 0;i<ar-1;i++){
            if(array[i]<=n && array[i+1]>=n){
                if(Math.abs(array[i]-n) <=  Math.abs(array[i+1]-n)){return array[i];}
                else{return array[i+1];}
            }
        }
        return y;
    }
}

 

 

 

 

 

 

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges