티스토리 뷰

💻JAVA 코드 바로보기

 

 

문제 설명

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


제한사항

  • arr은 길이 1 이상인 배열입니다.
  • 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.

입출력 예

arr return
[4,3,2,1] [4,3,2]
[10] [-1]

 

 


🌼JAVA 알고리즘

 

초기화면

 

 

 

 

완성 코드

class Solution {
    public int[] solution(int[] arr) {
        //int[] answer = new int[arr.length];
        int[] answer;
        int count=0;
        
        if(arr.length==1){
            answer = new int[1];
            answer[0] = -1;
            return answer;
        } 
        answer = new int[arr.length-1];
        int min = arr[0];
        int index = 0;
        
        //최소값찾기
        for(int i=0;i<arr.length;i++){
            if(min > arr[i]) min = arr[i];
        }
        for(int i=0;i<arr.length;i++){
            if(arr[i]==min) continue;
            answer[index] = arr[i];
            index++;
        }
        
        return answer;
    }
}

 

 

 

코드분석

단계 과정
배열의 값이 1개일때 배열의 길이가 1일때, 최소값을 제외하면 값이 존재하지 않으므로
answer배열의 길이를 1로 지정한 후 0번방에 -1값을 할당한다.
배열크기 지정 최소값을 제외한 크기 (arr의 길이 -1)만큼 지정한다.
for min(arr[0])보다 arr[i]값이 작을 때마다 min의 값을 변경하여 최소값을 찾는다.
for arr값이 min인 경우를 제외하고 answer배열에 그 값을 복사한다.

 

 


링크

 

 

코딩테스트 연습 - 제일 작은 수 제거하기

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

programmers.co.kr

 

 

About Me

💻GitHub/KimSky904 KimSky904 - Overview Department of New Media Software. KimSky904 has 8 repositories available. Follow their code on GitHub. github.com

code-review.tistory.com

댓글