반응형
인증사진(2024-03-11)
문제
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
답
import java.util.Arrays;
class Solution {
public int[] solution(int[] arr) {
if (arr.length <= 1) {
// 배열의 길이가 1 이하인 경우 빈 배열 또는 [-1] 반환
return new int[]{-1};
}
// 배열을 복사하여 정렬
int[] sortedArr = Arrays.copyOf(arr, arr.length);
Arrays.sort(sortedArr);
int min = sortedArr[0]; // 가장 작은 수
// 가장 작은 수를 제외한 배열 생성
int[] answer = new int[arr.length - 1];
int index = 0;
for (int num : arr) {
if (num != min) {
answer[index++] = num;
}
}
return answer;
}
}
추가공부
배열에서 가장 작은 수를 제거한 새로운 배열을 생성해보자.
함수는 int 배열을 입력으로 받고, int 배열을 반환한다.
주어진 배열의 길이가 1 이하인 경우를 체크하고 그렇다면 -1을 반환한다.
int[] sortedArr = Arrays.copyOf(arr, arr.length);
-> 주어진 배열(arr)을 새로운 배열(sortedArr)로 복사하는 Java 메서드를 사용했다.
반응형
'DEV' 카테고리의 다른 글
[pythonStudy] 세균 증식 (1) | 2024.03.17 |
---|---|
[Nodejs] NodeJS와 NPM 완전히 삭제 (0) | 2024.03.12 |
[pythonStudy] 옷가게 할인 받기 (0) | 2024.03.03 |
[pythonStudy] 양꼬치 (0) | 2024.02.25 |
[javaStudy] 아이스 아메리카노 (0) | 2024.02.18 |