-
[programmers] 제일 작은 수 제거하기알고리즘 2019. 12. 3. 23:49
접근 방법
1. 배열을 리스트로 변환한다
2. Collections.min을 이용해 최소값을 찾는다.
3. 찾은 최소값을 제거한다
4. 리스트를 다시 배열로 반환한다.
package com.cm;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
* https://programmers.co.kr/learn/courses/30/lessons/12935?language=java
*
* 문제 설명
* 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요.
* 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요.
* 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
*
* 제한 조건
* arr은 길이 1 이상인 배열입니다.
* 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.
*/
public class SkillTestLevel1 {
public SkillTestLevel1(){
int[] arr = {4,3,2,1};
System.out.println(solution(arr));
}
public int[] solution(int[] arr) {
if(arr.length==1){
int[] answer ={-1};
return answer;
}
List<Integer> list = Arrays.stream(arr).boxed().collect(Collectors.toList());
Integer minValue = Collections.min(list);
list.remove(minValue);
int[] answer = list.stream().mapToInt(i->i).toArray();
/*
for(int i : answer){
System.out.println(i);
} */
return answer;
}
}'알고리즘' 카테고리의 다른 글
[hackerRank] DiagonalDifference (0) 2019.12.10 [programmers] 자연수 뒤집어 배열로 만들기 (0) 2019.12.04 [Codility] PassingCars 70→100 (0) 2019.05.06 [Codility]MaxCounters (1) 2019.05.06 [Codility] FrogRiverOne 27→100 (0) 2019.05.06