본문 바로가기
Language/알고리즘 문제풀이

프로그래머스 제일 작은 수 제거하기 풀이(Java)

by wakestand 2019. 9. 5.
반응형

사이트명 : 프로그래머스(Programmers)

문제명 : 제일 작은 수 제거하기

언어 : 자바(Java)

 

배열 arr을 받은 뒤 배열에서

가장 작은 값만 제거한 뒤에 반환해야 하는데

 

문제는 가장 작은 값이 항상 배열 끝 위치에 존재하는 것도 아니고

강제로 정렬해서 제거하면 순서가 바뀌게 되어 틀리기 때문에

주어진 배열에서 어떻게 가장 작은 수만 잘라내고 반환하냐는 것이 문제다

 

내가 푼 방법은 아래와 같은데

 

먼저 list 안에 배열 값을 모두 넣어준 뒤 

list의 사이즈가 1이 아니라면

list.remove(Collection.min(list)) 로 리스트 안의 최소값을 지워준다

 

이후 이 리스트의 사이즈로 반환할 answer 배열의 크기를 지정해 주고

반복문을 돌려가며 list 값을 모두 answer 배열안에 넣어주면

최소값만 쏙 뺀 배열을 반환할 수 있게 된다

 

혹시나 리스트의 사이즈가 1이라면 최소값이 없는 것이므로

answer 배열에 -1 하나만 넣어 반환하면 된다

반응형

댓글