문제 읽었을 때는 5분 컷이겠군 ㅋ 했는데 은근 당황스러웠던 문제..
내 코드
import java.lang.Math;
class Solution {
public int[] solution(int[] arr) {
//배열이 하나일 때는 [-1] 리턴
if(arr.length == 1)
{
arr[0] = -1;
return arr;
}
//최소값 찾기
int min = arr[0];
for(int i=1; i<arr.length; i++){
min = Math.min(min, arr[i]);
}
//최소값 제외하기
int[] answer = new int[arr.length-1];
int k = 0;
for(int j=0; j<arr.length; j++){
if(arr[j] == min){
continue;
}else{
answer[k++] = arr[j];
}
}
return answer;
}
}
Math 함수를 이용하여 최소값 제외는 간단했지만 배열에서 인덱스를 모르고 값을 지우는데서 고민했다.
ArrayList를 쓸까 했지만 for문을 간단히 돌리는 걸로 했다.
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Java]Lv.1 바탕화면 정리 (0) | 2023.03.16 |
---|---|
[프로그래머스/Java]Lv.1 핸드폰 번호 가리기 (0) | 2022.10.17 |
[프로그래머스/Java]Lv.1 서울에서 김서방 찾기 (0) | 2022.09.29 |
[프로그래머스/Java] LV.1 두 정수 사이의 합 (0) | 2022.09.22 |
[프로그래머스/Java] Lv.1 콜라츠 추측 (1) | 2022.09.22 |