[JAVA 문제 풀이] 44. 가까운 수

프로그래머스 (120890) {절대값 Math.abs()}
Stupefyee's avatar
Dec 17, 2024
[JAVA 문제 풀이] 44. 가까운 수
notion image

내가 작성한 코드

💡
import java.util.Arrays; class Solution { public int solution(int[] array, int n) { int difference = Integer.MAX_VALUE; // int 최대값 int answer = 0; for (int i = 0; i < array.length; i++) { int currentDifference = Math.abs(array[i] - n); // 절대값 차이 계산 if (currentDifference < difference) { difference = currentDifference; // 새로운 최소 차이 갱신 answer = array[i]; // 현재 값 저장 } else if (currentDifference == difference) { // 절대값 차이가 같으면 더 작은 값을 선택 if (array[i] < answer) { answer = array[i]; } } } return answer; } }

다른 사람의 코드

💡
import java.util.*; class Solution { public int solution(int[] array, int n) { int answer = 0; Arrays.sort(array); for(int i = 1 ; i < array.length ; i++){ if(Math.abs(n-array[0]) > Math.abs(n-array[i])){ array[0] = array[i]; } } answer = array[0]; return answer; } }
index 0에 최소 차이를 갖는 값을 반복하며 찾아 계속 저장, 반복 종료후, index 0의 value
반환

Math.abs()

절대값을 구해주는 함수
 
Share article

stupefyee