LV1. 제일 작은 수 제거하기
❔ 문제
❗ 내 풀이
class Solution {
public int[] solution(int[] arr) {
if(arr.length == 1){
int[] answer = {-1};
return answer;
}
int[] answer = new int[arr.length-1];
int minIndex=0;
for(int i=0;i<arr.length;i++){
if(arr[minIndex]>arr[i]){
minIndex = i;
}
}
for(int i=minIndex+1;i<arr.length;i++){
arr[i-1] = arr[i];
}
for(int i=0;i<answer.length;i++){
answer[i] = arr[i];
}
return answer;
}
}
🚩참고 (다른 풀이)
1.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
class Solution {
public int[] solution(int[] arr) {
if (arr.length == 1) {
arr[0] = -1;
return arr;
} else {
ArrayList<Integer> arrayList = new ArrayList<Integer>(); // ArrayList 활용
for (int a : arr) {
arrayList.add(a);
}
Integer minimum = Collections.min(arrayList); // Collection 활용
arrayList.remove(minimum); // 최소값 제거
int[] resultArray = new int[arr.length - 1];
for (int i = 0; i < arrayList.size(); ++i) {
resultArray[i] = arrayList.get(i);
}
return resultArray;
}
}
}
2.
import java.util.Arrays;
import java.util.stream.Stream;
import java.util.List;
import java.util.ArrayList;
class Solution {
public int[] solution(int[] arr) {
if (arr.length <= 1) return new int[]{ -1 };
int min = Arrays.stream(arr).min().getAsInt(); // Stream 활용
return Arrays.stream(arr).filter(i -> i != min).toArray();
}
}
📝 정리
💬 ArrayList 활용해서 풀어낼 수 있다.
✔ Arrays.Stream
✔ ArrayList
Author And Source
이 문제에 관하여(LV1. 제일 작은 수 제거하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@thwjd579/프로그래머스-LV1.-제일-작은-수-제거하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)