티스토리 뷰
더보기
import java.util.*;
public class Solution {
// 문제 :
// + 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다.
// + 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다.
// + 단, 제거된 후의 남은 원소들은 순서를 유지해야 합니다.
// + 이러한 문제는 중복된 원소를 제거한 후의 배열의 길이를 초반에는 알 수 없기에
// + 자료구조 중 크기가 가변적으로 변하는 ArrayList를 사용하면 편하다.
public int[] solution(int [] arr) {
ArrayList <Integer> al = new ArrayList<>();
int temp = 11;
for ( int i = 0; i < arr.length; i++ ) {
if ( temp != arr [i] ) {
al.add(arr[i]);
} // 연속적인 중복이 아니라면
temp = arr [i];
} // for
// + ArrayList에서 배열로 다시 변환
return al.stream().mapToInt(Integer::intValue).toArray();
} // solution
} // end class
[ 참고한 블로그 ]
https://velog.io/@jwkim/java-arraylist-array-type-conversion
728x90
'코딩 테스트 [ 연습 ]' 카테고리의 다른 글
프로그래머스 - 입문 - 배열 뒤집기 (0) | 2022.12.06 |
---|---|
프로그래머스 - 입문 - 피자 나눠 먹기 1 (0) | 2022.12.05 |
프로그래머스 - 정렬 - H-INDEX (0) | 2022.11.28 |
프로그래머스 - SELECT - 과일로 만든 아이스크림 고르기 (0) | 2022.11.23 |
프로그래머스 - 정렬 - 가장 큰 수 (0) | 2022.11.23 |
댓글