프로그래머스 코딩테스트 입문 0단계 문제입니다
https://school.programmers.co.kr/learn/courses/30/lessons/120890
📢 문제 설명
정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요.
⭕ 정답 코드
import java.util.Arrays;
class Solution {
public int solution(int[] array, int n) {
int answer = 0;
int min = 100; //원소의 최솟값: 1, n의 최댓값: 100 => 나올 수 있는 차의 최댓값: 99
Arrays.sort(array); //정렬 안 되어있는 array도 있음
for(int a : array){ //array 요소 하나씩 보기
int abs = Math.abs(n-a); //n과의 차이 구하기
if(min > abs) { //차이가 min보다 작을때 => 절댓값
if((min==abs) && (answer<a)) //min에 들어있는 값이랑 절댓값이랑 같고 answer이 더 작으면
break; //멈춤
answer = a; //정답이 아니라서 못멈추면 answer에 a를 넣고
min = abs; //min에 절댓값를 넣어준다
}
}
return answer;
}
}
- 설명은 주석을 참고하세요
✅ 회고
사실 초심을 잃었다.. 다른 사람의 더 좋은 풀이가 궁금하지 않다니ㅠㅠㅠ
반성반성.. 내일부터는 좀 더 어려운 문제를 풀어보려고 한다
그리고 자백하자면 사실 이 문제는 1월 19일에 풀었어야했다 ㅎㅎㅎ
끝까지 풀어냈으니 칭찬해주기.... 그래도 다음에는 당일에 다 풀기....!
'코딩테스트 스터디' 카테고리의 다른 글
JAVA Arrays, stream, Collections 클래스와 메서드 정리 (0) | 2023.05.26 |
---|---|
코딩테스트 연습 - 배열 회전시키기 (JAVA) (0) | 2023.03.10 |
코딩테스트 연습 - 진료순서 정하기 (JAVA) (0) | 2023.03.03 |
코딩테스트 연습 - 문자열 정렬하기(1) (JAVA) (0) | 2023.03.02 |
코딩테스트 연습 - 주사위의 개수 (JAVA) (1) | 2023.03.02 |