문제 풀이 (JAVA)
import java.util.*;
class Solution {
public int[] solution(int[] arr) {
int [] answer= new int[arr.length-1]; // 숫자 배열 1개를 제거한 값을 담을 배열 선언
int min=arr[0]; // 제일 작은 수를 첫번째 배열로 임의로 선언
int j=0;
if(arr.length==1){ // 숫자 배열이 1개라면 제거할 값이 없으므로 -1 세팅
answer=new int[arr.length]; // 배열이 1개라면 리턴할 배열도 1개이므로 배열 재선언
answer[0]=-1;
}
if(arr.length>1){ // 배열의 숫자가 2개이상이라면
for(int i=1; i<arr.length; i++){ //최소값을 첫번째 배열로 정했으므로 배열 index 1부터 비교
if(min> arr[i]){ // 비교한 배열이 최소값이라면 최소값을 재정의한다.
min=arr[i];
}
}
for(int i=0; i<arr.length; i++){ //배열의 최소값 제거를 위한 반복문
if(min!=arr[i]){ // 배열의 값이 최소값이 아니라면 배열 세팅
answer[j]=arr[i];
j++; // 세팅 후 배열의 index+1 (다음 배열 세팅을 위함)
}
}
}
return answer;
}
}
주요 핵심 포인트
1. ArrayList를 사용하려면 java.util.ArrayList를 import 해야 한다.
2. 숫자 배열이 한개일때 -1을 리턴하도록 해야한다.
3. 숫자 배열이 두개 이상일때 최소값을 구하여 최소값이 아닐 경우를 제외하고 배열에 세팅하였다.
4. 내가 짠 코드는 최소값이 동일한 것이 두 개 일때는 문제가 될 수 있는 코드이지만 테스트를 통과하였다. 추후 주의해서 짜야 한다.
'프로그래머스(JAVA)' 카테고리의 다른 글
정수 내림차순으로 배치하기 (0) | 2022.04.16 |
---|---|
정수 제곱근 판별 (0) | 2022.04.16 |
짝수와 홀수 (0) | 2022.04.16 |
최대공약수와 최소공배수 (0) | 2022.04.16 |
콜라츠 추측 Level.1 (0) | 2022.04.16 |