코딩 테스트

프로그래머스 제일 작은 수 제거하기 Java

hyecozy 2022. 7. 28. 13:06

https://school.programmers.co.kr/learn/courses/30/lessons/12935

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

class Solution {
    public int[] solution(int[] arr) {
        int min = 9999999;
        if(arr.length <= 1){
          int[] answer = {-1};
          return answer;
        }
        else{
            int[] answer = new int[arr.length - 1];
            for(int i = 0; i < arr.length; i++){
                min = Math.min(arr[i], min);
            }
            int j = 0;
            for(int i = 0; i < arr.length; i++){
                if(arr[i] == min){
                    continue;
                }
                answer[j++] = arr[i];
            }
           return answer;
         }  
    }
}

➡️ 최솟값을 나타내는 변수 min을 생성할 때 나올 수 있는 최대의 수를 넣어서 생성

➡️ 정직하게 메서드에 들어온 배열의 길이가 1이하일 경우와 그렇기 않을 경우로 나누어서 구현 (if else)

➡️ Math.min()으로 최솟값을 찾은 후, answer배열을 만드는데 arr배열의 최솟값이 아닌 경우에만 반복문으로 옮겨(?) 줌