문제
https://school.programmers.co.kr/learn/courses/30/lessons/12935
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이
원본 배열에 있는 수의 순서를 유지하면서 가장 작은 수를 제거한 배열을 리턴하는 문제이다.
1. 원본 배열의 길이를 가져와서 1을 뺐을 때, 비어 있으면 -1을 가진 배열을 리턴한다.
2. 원본 배열의 길이가 2이상일 때, 최솟값을 구해서 최솟값을 제외한 다른 값들을 배열에 담는다.
소스코드
class Solution {
public int[] solution(int[] arr) {
int len = arr.length;
if (len - 1 == 0) {
return new int[] { -1 };
}
int min = Integer.MAX_VALUE;
for (int v : arr) {
min = Math.min(min, v);
}
int[] answer = new int[len - 1];
int idx = 0;
for (int v : arr) {
if (min == v) continue;
answer[idx++] = v;
}
return answer;
}
}
실행결과

'Problem Solving > Programmers' 카테고리의 다른 글
| [Programmers] 명예의 전당 (1) - Java (0) | 2025.08.04 |
|---|---|
| [Programmers] 문자열 나누기 - Java (2) | 2025.08.03 |
| [Programmers] 두 개 뽑아서 더하기 - Java (0) | 2025.08.01 |
| [Programmers] 햄버거 만들기 - Java (0) | 2025.07.31 |
| [Programmers] 개인정보 수집 유효기간 - Java (0) | 2025.07.30 |