문제 풀이 (JAVA)

import java.util.*;
class Solution {
    public int[] solution(int[] arr) {
        int [] answer= new int[arr.length-1]; // 숫자 배열 1개를 제거한 값을 담을 배열 선언
        int min=arr[0]; // 제일 작은 수를 첫번째 배열로 임의로 선언
        int j=0;
        if(arr.length==1){ // 숫자 배열이 1개라면 제거할 값이 없으므로 -1 세팅
            answer=new int[arr.length]; // 배열이 1개라면 리턴할 배열도 1개이므로 배열 재선언
            answer[0]=-1;
        }
        if(arr.length>1){ // 배열의 숫자가 2개이상이라면
            for(int i=1; i<arr.length; i++){ //최소값을 첫번째 배열로 정했으므로 배열 index 1부터 비교
                if(min> arr[i]){ // 비교한 배열이 최소값이라면 최소값을 재정의한다.
                    min=arr[i];
                }
            }   
            for(int i=0; i<arr.length; i++){ //배열의 최소값 제거를 위한 반복문
                if(min!=arr[i]){ // 배열의 값이 최소값이 아니라면 배열 세팅
                    answer[j]=arr[i]; 
                    j++; // 세팅 후 배열의 index+1 (다음 배열 세팅을 위함)
                }
            }
        }
        return answer;
    }
}

주요 핵심 포인트

1. ArrayList를 사용하려면 java.util.ArrayList를 import 해야 한다.

2. 숫자 배열이 한개일때 -1을 리턴하도록 해야한다.

3. 숫자 배열이 두개 이상일때 최소값을 구하여 최소값이 아닐 경우를 제외하고 배열에 세팅하였다.

4. 내가 짠 코드는 최소값이 동일한 것이 두 개 일때는 문제가 될 수 있는 코드이지만 테스트를 통과하였다. 추후 주의해서 짜야 한다.

'프로그래머스(JAVA)' 카테고리의 다른 글

정수 내림차순으로 배치하기  (0) 2022.04.16
정수 제곱근 판별  (0) 2022.04.16
짝수와 홀수  (0) 2022.04.16
최대공약수와 최소공배수  (0) 2022.04.16
콜라츠 추측 Level.1  (0) 2022.04.16

+ Recent posts