[프로그래머스/자바] 제일 작은 수 제거하기

솔솔·2023년 1월 9일
0
post-thumbnail

📑 문제 설명

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



🧑🏻‍💻 문제 풀이

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

class Solution {
    public int[] solution(int[] arr) {
        
        if(arr.length==1){
            int[] answer = {-1};
            return answer;
        }
    	
    	List<Integer> arrList = new ArrayList<>();
    	for(int i:arr) {
    		arrList.add(i);
    	}
    	
    	arrList.remove(arrList.indexOf(Collections.min(arrList)));
    	
    	int[] answer = new int[arrList.size()];

    	for(int i=0;i<answer.length;i++) {
    		answer[i] = arrList.get(i);
    	}
        
    	return answer;
    }
}
  1. arr이 빈 경우 -1을 리턴.
  2. List 생성 후 반복문을 이용해 arr을 arrList에 담는다.
  3. arrList 최솟값의 자릿수를 구해 제거한다.
  4. arrList의 크기와 같은 배열 answer을 생성해 다시 arrList를 담는다.



🔗 문제 링크

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

0개의 댓글