코딩테스트 연습 - 제일 작은 수 제거하기 | 프로그래머스 스쿨 (programmers.co.kr)
문제 설명
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
제한 조건- arr은 길이 1 이상인 배열입니다.
- 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.
- System.arraycopy(원본 배열, 원본 배열의 시작 index, 복사될 배열, 복사된 배열의 시작 index, 복사할 배열의 길이) 를 사용하여 최솟값이 있는 index를 제외하고 복사하였다.
class Solution {
public int[] solution(int[] arr) {
if (arr.length == 1) {
arr[0] = -1;
return arr;
}
int[] answer = new int[arr.length - 1];
int index = 0;
int min = Integer.MAX_VALUE;
for (int i = 0; i < arr.length; i++) {
if (arr[i] <= min) {
min = arr[i];
index = i;
}
}
System.arraycopy(arr, 0, answer, 0, index);
System.arraycopy(arr, index + 1, answer, index, arr.length - index - 1);
return answer;
}
}
'Programmers > Lv.1' 카테고리의 다른 글
[프로그래머스][Lv.1][Java] 문자열 내림차순으로 배치하기 (0) | 2023.04.28 |
---|---|
[프로그래머스][Lv.1][Java] 수박수박수박수박수박수? (0) | 2023.04.28 |
[프로그래머스][Lv.1][Java][우선순위 큐] K번째 (0) | 2023.03.27 |
[프로그래머스][Lv.1][Java] 가운데 글자 가져오기 (0) | 2023.03.27 |
[프로그래머스][Lv.1][Java] 2016년 (0) | 2023.03.26 |