반응형
💁♀️ 링크
programmers.co.kr/learn/courses/30/lessons/12935
📃 문제
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요.
예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
🐾 문제풀이
우선 제일 작은 수를 찾는다.
앞서 선언한 tempList에 제일 작은 수를 제외한 요소들을 추가한다.
tempList 요소의 수가 0이면 -1을 채우고 리턴한다.
요소의 수가 0이 아니라면 tempList에 있는 요소들을 answer에 추가한다.
💻 코드
import java.util.*;
class Solution {
public int[] solution(int[] arr) {
ArrayList<Integer> tempList = new ArrayList<>();
int min = Integer.MAX_VALUE;
// 제일 작은 수 찾기
for(int i=0; i<arr.length; i++){
if(arr[i]< min) min = arr[i];
}
// 제일 작은 수를 제외하고 tempList에 추가해준다.
for(int i=0; i<arr.length; i++){
if(arr[i] != min) tempList.add(arr[i]);
}
// tempList의 요소의 수가 0 이면 [-1] return
if(tempList.size() == 0) return new int[]{-1};
// tempList의 요소를 answer에 넣어준다.
int[] answer = new int[tempList.size()];
for(int i=0; i<tempList.size(); i++){
answer[i] = tempList.get(i);
}
return answer;
}
}
반응형
'프로그래밍 > 알고리즘' 카테고리의 다른 글
[이것이 코딩테스트다] 그리디(탐욕법) (0) | 2021.04.15 |
---|---|
[프로그래머스] [Level1] 정수 내림차순으로 배치하기 - Java (0) | 2021.04.07 |
[프로그래머스] [Level1] 자연수 뒤집어 배열로 만들기 - Java (0) | 2021.01.06 |
[프로그래머스] [Level1] 자릿수 더하기 - Java (0) | 2021.01.06 |
[프로그래머스] [Level1] 이상한 문자 만들기 - Java (0) | 2021.01.05 |