정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
arr | result |
---|---|
[4,3,2,1] | [4,3,2] |
[10] | [-1] |
class Solution {
public int[] solution(int[] arr) {
int[] answer = {};
return answer;
}
}
class Solution {
public int[] solution(int[] arr) {
//배열 길이가 1인 경우
if(arr.length == 1){
int[] answer = {-1};
return answer;
}
//배열길이가 1보다 클 때
//가장 작은 수를 뺀 길이로 초기화
int[] answer = new int[arr.length-1];
int min = arr[0];
//제일 작은 수
for(int i=1; i<arr.length; i++){
min = Math.min(min, arr[i]);
}
//반복문 index 용
int index = 0;
//가장 작은 수를 제외한 배열 만들기
for(int i=0; i<arr.length; i++){
//배열의 값이 가장 작은 수라면
if(arr[i] == min){
//continue를 이용해 배열에 넣지 않고 넘어간다.
continue;
}
answer[index++] = arr[i];
}
return answer;
}
}
배열의 길이가 1일 경우 answer 배열에 -1을 대입하여 리턴
arr배열에서 가장 작은 값을 Math.min함수를 써서 구해준다
answer배열에 값을 대입할 때 가장 작은 값이 되었을 때 continue를 이용해 넘어가주면서 대입한다
주석활용을 잘했네요! 시험 잘보세요~!