반응형
츄르사려고 코딩하는 코집사입니다.
1. [프로그래머스] 가까운 수 자바(JAVA)
1) 문제 제목 : 가까운 수
2) 문제 출처
https://school.programmers.co.kr/learn/courses/30/lessons/120890
2. 문제
정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요.
3. 제약사항
- 1 ≤ array의 길이 ≤ 100
- 1 ≤ array의 원소 ≤ 100
- 1 ≤ n ≤ 100
- 가장 가까운 수가 여러 개일 경우 더 작은 수를 return 합니다.
4. 입출력
arraynresult
[3, 10, 28] | 20 | 28 |
[10, 11, 12] | 13 | 12 |
입출력 예 설명
입출력 예 #1
- 3, 10, 28 중 20과 가장 가까운 수는 28입니다.
입출력 예 #2
- 10, 11, 12 중 13과 가장 가까운 수는 12입니다.
5. 풀이
- 먼저, 배열을 정렬한 다음에, n이 위치해야 하는 곳을 찾는다.
- n보다 작으면 continue n보다 크거나 같으면 그 위치에서 앞에 값과 뒤의 값을 대소 비교하여 리턴한다.
- 그리고 마지막에, n보다 큰 값이 없으면 배열의 맨 뒤의 값을 리턴한다.
6. 소스 코드
import java.util.Arrays;
class Solution {
public int solution(int[] array, int n) {
int answer = 0;
Arrays.sort(array);
for(int i = 0; i < array.length; i++) {
if(array[i] <= n) {
continue;
} else {
int sub1 = n - array[i-1];
int sub2 = array[i] - n;
if(sub1 > sub2) {
answer = array[i];
return answer;
} else if(sub1 < sub2) {
answer = array[i-1];
return answer;
} else if(sub1 == sub2) {
answer = array[i-1];
return answer;
}
}
}
answer = array[array.length - 1];
return answer;
}
}
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 기사단원의 무기 자바(JAVA) (0) | 2022.11.17 |
---|---|
[프로그래머스] 문자열 뒤집기 자바(JAVA) (0) | 2022.11.16 |
[프로그래머스] A로 B 만들기 자바(JAVA) (0) | 2022.11.14 |
[프로그래머스] 과일 장수 자바(JAVA) (0) | 2022.11.13 |
[프로그래머스] 가장 큰 수 찾기 자바(JAVA) (0) | 2022.11.11 |
[프로그래머스] 컨트롤 제트 자바(JAVA) (0) | 2022.11.09 |
[프로그래머스] OX퀴즈 자바(JAVA) (0) | 2022.11.08 |
[프로그래머스] 문자열 계산하기 자바(JAVA) (0) | 2022.11.08 |
최근댓글