inblog logo
|
stupefyee
    알고리즘문제풀기

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

    프로그래머스 (120890) {절대값 Math.abs()}
    Stupefyee's avatar
    Stupefyee
    Dec 17, 2024
    [JAVA 문제 풀이] 44. 가까운 수
    Contents
    내가 작성한 코드다른 사람의 코드Math.abs()
    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/120890?language=java
    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
    Contents
    내가 작성한 코드다른 사람의 코드Math.abs()

    stupefyee

    RSS·Powered by Inblog