----- ArrayList -----
ArrayList<Integer> list = new ArrayList<>( ); 정의
list.add( ) : 리스트안에 객체 추가
list.contains( ) : 리스트 안에 어떤 객체가 있는지 확인할때 사용
list.indexOf( ) : 문자열에서 특정 단어가 있는지 찾고 있을 경우 위치 값 리턴
list.remove( ) : 리스트의 객체 삭제
list.get( ) : 리스트에서 어떤 객체를 가져오기
----- 길이 -----
length : 배열의 길이
length[ ] : 문자열의 길이
size( ) : 컬렉션 프레임워크(list, set, map, stack, queue) 타입의 길이
문제 설명
정수를 저장한 배열, 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] |
import java.util.*;
class Solution {
public int[] solution(int[] arr) {
int min = arr[0];
//arr 길이가 1이라면 -1출력
if(arr.length == 1) return new int[] {-1};
//작은 수 제외하고 배열에 넣기
//arr[0]과 arr[1]을 비교하고 arr[0]이 더 크다면 배열에 포함
//작다면 제외
//ArrayList
ArrayList<Integer> list = new ArrayList<>();
for(int i = 0; i < arr.length; i++){
//add : 리스트 안에 객체 추가
list.add(arr[i]);
//min인 arr[0]이 arr[i] 보다 클때, min은 arr[i]
if(min > arr[i]) min = arr[i];
}
//contains : 리스트 안에 어떤 객체가 있는지 확인할때 사용
while(list.contains(min)){
//indexOf : 문자열에서 특정 단어가 있는지 찾고 있을 경우 위치값 리턴
int idx = list.indexOf(min);
//remove : 리스트의 객체 삭제
list.remove(idx);
}
//length : 배열의 길이
//length[] : 문자열의 길이
//size() : 컬렉션 프레임워크(list, set, map, Stack, Queue) 타입의 길이
int[] answer = new int[list.size()];
for(int i = 0; i< list.size(); i++)
//get() : 리스트에서 어떤 객체를 가져오기
answer[i] = list.get(i);
return answer;
}
}
'Coding Test > 프로그래머스' 카테고리의 다른 글
24 Java - 자연수 뒤집어 배열로 만들기 (0) | 2021.07.25 |
---|---|
23 Java - 소수 찾기 (0) | 2021.07.24 |
21 Java - 문자열 내 p와 y의 개수 (0) | 2021.07.23 |
20 Java - 문자열을 정수로 바꾸기 (0) | 2021.07.22 |
19 Java - 문자열 다루기 기본 (0) | 2021.07.22 |