다희의 코딩 성장일기

[프로그래머스] level1. 제일 작은 수 제거하기 (자바 JAVA) 본문

Algorithm/프로그래머스

[프로그래머스] level1. 제일 작은 수 제거하기 (자바 JAVA)

ilmiodiario 2021. 8. 19. 22:41

[ 문제 ]  [프로그래머스] level1. 제일 작은 수 제거하기 (자바 JAVA)

 

문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/12935

 

코딩테스트 연습 - 제일 작은 수 제거하기

정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1

programmers.co.kr


# 접근 방법 및 풀이 

 

  • arr배열을 전체 탐색하면서 제일 작은수와 그때 idx를 찾는다.
  • 그리고 해당 idx를 제외한 다른 나머지 배열을 answer배열에 넣으면 된다.

# 주의할 점 

 

  • 딱히 없음

 

JAVA 코드
import java.util.*;
class Solution {
    public int[] solution(int[] arr) {
        int[] answer = new int [arr.length-1];
        int idx = 0;
        int min = Integer.MAX_VALUE;
        for(int i = 0 ; i < arr.length; i++){
            if(arr[i] < min){
                min = arr[i];
                idx = i;
            }
        }
        int j = 0;
        for(int i = 0; i < arr.length; i++){
            if(idx == i)
                continue;   
            answer[j] = arr[i];
            j++;
        }
        if(answer.length == 0){
            answer = new int[1];
            answer[0] = -1;
        }
        return answer;
    }
}

 

 

 

REVIEW

Comments