풀이
1. 한번씩 훑으면서 중복이 아니면 Arraylist에 넣어준다. 배열 크기를 모르므로 Arraylist 사용.
2. ArrayList를 int배열로 변환한 후 리턴.
public int[] solution(int[] arr) {
// ArrayList 생성하고 첫번재 원소만 넣어주기
List<Integer> list = new ArrayList();
list.add(arr[0]);
//두번째 원소부터 전 원소하고 비교해서 중복이 아니면 list에 넣기
for (int i = 1; i < arr.length; i++) {
if (arr[i] != arr[i - 1])
list.add(arr[i]);
}
// ArrayList to int array
return list.stream()
.mapToInt(Integer::intValue)
.toArray();
}
'algorithm > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 비밀지도 JAVA (0) | 2022.10.20 |
---|---|
프로그래머스 - 이상한 문자 만들기 JAVA (0) | 2022.10.20 |
프로그래머스 - 문자열 내림차순으로 배치하기 JAVA (0) | 2022.09.30 |
프로그래머스 - 나누어 떨어지는 숫자 배열 (0) | 2022.09.29 |
프로그래머스 - 핸드폰 번호 가리기 JAVA (0) | 2022.09.29 |