Q. 제일 작은 수 제거하기
A.
class Solution {
public int[] solution(int[] arr) {
//리턴하려는 배열이 빈 배열인 경우에 배열에 -1을 채워 리턴
//빈 배열인 경우는 arr 배열의 크기가 1인 경우이니까 arr.length가 1인 배열일 경우
//-1을 넣어서 반환
if(arr.length == 1){
return new int[]{-1};
}
//최솟값 찾기
//min을 정수타입이 가질 수 있는 최댓값으로 초기화하고, 이 값을 가지고 배열의 요소와 비교를 하면서 더 작은 값을 찾는 방식
int min = Integer.MAX_VALUE;
//배열을 비교하면서 제일 찾은 값을 찾는 과정
for(int i : arr){
min = Math.min(min,i);
}
//최솟값이 빠져야하니까 새로운 배열은 원래 arr 배열에서 크기가 1작음
int[] answer = new int[arr.length - 1];
int num = 0;
//배열을 돌면서 min 값이 아닌 경우 answer 배열에 담기
for(int i : arr){
if(i != min){
answer[num++] = i;
}
}
return answer;
}
}
'알고리즘, 코딩테스트' 카테고리의 다른 글
[프로그래머스/ 코딩테스트 연습문제] 수박수박수박수박수박수? (0) | 2024.11.12 |
---|---|
[프로그래머스/ 코딩테스트 연습문제] 가운데 글자 가져오기 (0) | 2024.11.11 |
[프로그래머스/ 코딩테스트 월간코드챌린지 시즌3] 없는 숫자 더하기 (0) | 2024.11.10 |
[프로그래머스/ 코딩테스트 연습문제] 핸드폰 번호 가리기 (0) | 2024.11.06 |
[프로그래머스/ 코딩테스트 월간코드챌린지 시즌2] 음양 더하기 (0) | 2024.11.05 |