코테/프로그래머스
[프로그래머스/Lv. 0] 가까운 수
imname1am
2023. 2. 5. 17:04
반응형
내 1차 코드 (틀림)
import java.util.*;
class Solution {
public int solution(int[] array, int n) {
int answer = 0;
Arrays.sort(array);
int diff = Math.abs(n - array[0]);
for(int num : array) {
if(Math.abs(n - num) == 0) {
answer = num;
}
if(Math.abs(n - num) < diff) {
diff = Math.abs(n - num);
answer = num;
}
}
return answer;
}
}
코드 실행했을 때는 패스했는데 채점하니까 틀렸다...🤔
내 2차 코드 (맞음!)
import java.util.*;
class Solution {
public int solution(int[] array, int n) {
int answer = 0;
int diff = 100;
Arrays.sort(array);
for(int num : array) {
if(Math.abs(n - num) == 0) {
answer = num;
}
if(Math.abs(n - num) < diff) {
diff = Math.abs(n - num);
answer = num;
}
}
return answer;
}
}
diff를 일단 100으로 잡았더니 되었다....
비슷한 정답...은 아래에
import java.util.*;
class Solution {
public int solution(int[] array, int n){
int min = 100, idx = 0;
Arrays.sort(array);
for(int i = 0; i < array.length; i++){
if(Math.abs(array[i] - n) < min){
min = Math.abs(array[i] - n);
idx = i;
}
}
return array[idx];
}
}
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
반응형