728x90
힌트
- 배열 크기 체크: 배열의 크기가 1일 때 특별히 처리해야 합니다.
- 최소 값 인덱스 찾기: 배열을 순회하여 최소 값을 찾고 그 인덱스를 기록합니다.
- 결과 배열 생성: 최소 값을 제외한 나머지 원소를 담을 배열을 생성합니다.
- 값 복사: 최소 값의 인덱스를 제외하고 나머지 원소를 결과 배열에 복사합니다.
정답은 더보기 클릭
더보기
class Solution {
public int[] solution(int[] arr) {
// 배열 크기가 1일 때
if (arr.length == 1) {
arr[0] = -1; // 배열의 유일한 원소를 -1로 설정
return arr; // 변경된 배열 반환
}
// 최소 숫자가 있는 인덱스
int minIndex = 0;
// 최소 숫자 위치 찾기
for (int i = 0; i < arr.length; i++) {
if (arr[minIndex] > arr[i]) {
minIndex = i; // 현재 원소가 최소 숫자보다 작으면 인덱스 업데이트
}
}
// 결과 배열 생성, 크기는 원래 배열보다 1 작음
int[] result = new int[arr.length - 1];
// 인덱스 변수 초기화
int index = 0;
// 원래 배열을 순회하면서 최소 숫자 인덱스를 제외하고 결과 배열에 값 복사
for (int i = 0; i < arr.length; i++) {
if (i != minIndex) {
result[index++] = arr[i]; // 최소 숫자가 아닌 경우 결과 배열에 추가
}
}
return result; // 최종 결과 배열 반환
}
}
728x90
'프로그래머스(Java) > Level 1' 카테고리의 다른 글
[프로그래머스] 숫자 짝꿍 (0) | 2024.07.30 |
---|---|
[프로그래머스] 대충 만든 자판 (0) | 2024.07.28 |
[프로그래머스] 나머지가 1이 되는 수 찾기 (0) | 2024.07.24 |
[프로그래머스] 콜라츠 추측 (0) | 2024.07.24 |
[프로그래머스] 가장 많이 받은 선물 (0) | 2024.07.19 |