Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 람다
- 인프런
- 후기
- 매핑
- 공부
- 자바
- study
- 카카오톡1차
- spring
- Singleton
- Design Pattern
- 디자인패턴
- 에러
- 우아한테크코스
- 오라클
- 프로그래머스
- 이펙티브자바
- Head First Design Pattern
- Eclipse
- Oracle
- 인코딩
- math
- 독서리뷰
- JPA
- 알고리즘
- 독서
- Java
- javascript
- 인강리뷰
- 회고
Archives
- Today
- Total
Lee's Grow up
[자바/알고리즘] 프로그래머스 제일 작은 수 제거하기 본문
반응형
문제 설명
정수를 저장한 배열, arr
에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요.단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr
이 [ 4, 3, 2, 1 ]
인 경우 [ 4, 3, 2 ]
를 리턴하고 . [ 10 ]
이면 [ -1 ]
을 리턴 합니다.
제한 조건
arr
은 길이 1 이상인 배열입니다.- 인덱스 i,j에 대해 i != j 이면
arr[i]
!=arr[j]
입니다.
입출력 예
arr | return |
[ 4, 3, 2, 1 ] | [ 4, 3, 2 ] |
[ 10 ] | [ -1 ] |
나의 풀이
class Solution {
public int[] solution(int[] arr) {
if(arr.length <= 1){
int[] answer = {-1};
return answer;
}
int min = arr[0];
for (int i = 1; i < arr.length; i++) {
min = Math.min(min, arr[i]);
}
int[] answer = new int[arr.length-1];
int index = 0;
for (int i = 0; i < arr.length; i++) {
if(arr[i] == min) {
continue;
}
answer[index++] = arr[i];
}
return answer;
}
}
문제에서 리턴하는 배열이 빈 배열인 경우 -1을 리턴 즉, 길이가 1이하일 때 빈배열이라고 가정했기 때문에 처음에 if(arr.length <= 1 )
이라는 조건을 사용하여 값을 리턴해주었고, 아닐 경우 전체 반복문을 통해 최소 값을 Math.min(int,int)
메소드를 통해 최소 값을 구한 후 새로운 배열에 값을 저장하고 리턴해줍니다.
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[자바/알고리즘] 프로그래머스 영어 끝말잇기 (0) | 2019.11.19 |
---|---|
[자바/알고리즘] 프로그래머스 정수 제곱근 판별 (0) | 2019.11.18 |
[자바/알고리즘] 프로그래머스 콜라츠 추측 (0) | 2019.11.15 |
[자바/알고리즘] 프로그래머스 [2020카카오공채] 문자열 압축 (0) | 2019.11.15 |
[자바/알고리즘] 프로그래머스 평균 구하기 (0) | 2019.11.13 |
Comments