Deep_Dev
article thumbnail

๋ฌธ์ œ ์„ค๋ช…

์ •์ˆ˜ ๋ฐฐ์—ด array์™€ ์ •์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, array์— ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜ ์ค‘ n๊ณผ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 
 
์ œํ•œ์‚ฌํ•ญ
  • 1 ≤ array์˜ ๊ธธ์ด ≤ 100
  • 1 ≤ array์˜ ์›์†Œ ≤ 100
  • 1 ≤ n ≤ 100
  • ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ˆ˜๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์ผ ๊ฒฝ์šฐ ๋” ์ž‘์€ ์ˆ˜๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค.

 

 

์ž…์ถœ๋ ฅ ์˜ˆ      array    n     result
[3, 10, 28] 20 28
[10, 11, 12] 13 12

 

 


n์ด array์˜ ๋ชจ๋“  index๊ฐ’๊ณผ ๋น„๊ตํ•˜๋ฉด์„œ ํฐ๊ฐ’์—์„œ ์ž‘์€๊ฐ’์„ ๋นผ์ฃผ์–ด ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐํ•˜์˜€๋‹ค.

๊ทธ๋ž˜์„œ ๋น„๊ตํ•ด์ฃผ๋Š” min ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์˜€๊ณ , array์˜ ์›์†Œ ๊ฐ’์ด n๋ณด๋‹ค ํฐ๊ฒฝ์šฐ์™€ ์ž‘์€ ๊ฒฝ์šฐ๋ฅผ ๋‚˜๋ˆ ์„œ ๊ณ„์‚ฐํ•จ.

๊ทผ๋ฐ ์ฒ˜์Œ์— ์ด๋ ‡๊ฒŒ ํ–ˆ๋‹ค๊ฐ€ 

ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๊ฐ€ 1๊ฐ€์ง€๋งŒ ์˜ค๋‹ต์ด ๋‚˜์™”๋Š”๋ฐ, ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ™์€ ๊ฐ’์ด ์žˆ๋Š” ๊ฒฝ์šฐ ๋” ์ž‘์€ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋ผ๋Š” ์ œํ•œ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜์ง€ ๋ชปํ–ˆ์—ˆ์Œ.

๊ทธ๋ž˜์„œ ์ƒ๊ฐํ•˜๋‹ค๊ฐ€, ๋ฐฐ์—ด์˜ index ์œ„์น˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š”๊ฑฐ๋‹ˆ ์ •๋ ฌํ•œ ์ดํ›„์— ๋น„๊ตํ•˜๋ฉด ์ž‘์€๊ฐ’์ด ๋จผ์ € answer์—

๋“ค์–ด๊ฐ€๊ฒ ๊ตฌ๋‚˜ํ•ด์„œ sort()๋ฅผ ์ด์šฉํ•ด์„œ ์ •๋ ฌํ•˜๊ณ  ๋น„๊ตํ•จ

 


import java.util.Arrays;
class Solution {
    public int solution(int[] array, int n) {
        int answer = 0;
        int min=Integer.MAX_VALUE;
        Arrays.sort(array);
        for(int i=0; i<array.length; i++){
            // n์ด ๋ฐฐ์—ด์˜ ์›์†Œ๋ณด๋‹ค ํฐ๊ฒฝ์šฐ
            if(n>array[i]){
                if(n-array[i]<min) {
                    min = n - array[i];
                    answer=array[i];
                }
            // ๋ฐฐ์—ด์˜ ์›์†Œ๊ฐ€ n๋ณด๋‹ค ํฐ๊ฒฝ์šฐ
            }else{
                if(array[i]-n<min) {
                    min = array[i] - n;
                    answer=array[i];
                }
            }
        }
        return answer;
    }
}