[Programmers] level 1 - 같은 숫자는 싫어

Lynn·2021년 1월 23일
0

Algorithm

목록 보기
24/43
post-thumbnail

👩🏻‍💻 문제

👩🏻‍💻 정답 코드

import java.util.*;

public class Solution {
    public int[] solution(int[] arr) {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(arr[0]);
        for (int i=1; i<arr.length; i++)
            if (arr[i]!=arr[i-1]) list.add(arr[i]);
        
        int[] answer = new int[list.size()];
        for (int i=0; i < answer.length; i++)
            answer[i] = list.get(i).intValue();
        return answer;
    }
}

add 메소드를 사용하기 위해 Integer형 ArrayList를 선언해 준다. arr의 첫번째 원소를 일단 add 한 후, arr[i]와 arr[i-1]이 다르면 (새로운 원소값이 등장하면) list에 add 한다. 리턴형인 int[]로 변환은 필수!


👩🏻‍💻 Remember

ArrayList 참고 블로그

ArrayList
ArrayList는 List 인터페이스를 상속받은 클래스로 크기가 가변적으로 변하는 선형리스트다. 일반적인 배열과 같은 순차리스트이며 인덱스로 내부의 객체를 관리한다는 점 등이 유사하지만 한 번 생성되면 크기가 변하지 않는 배열과는 달리 ArrayList는 객체들이 추가되어 capacity를 초과한다면 자동으로 부족한 크기만큼 capacity가 늘어난다는 특징을 가지고 있다.

  • ArrayList -> Array
List<Integer> list = new ArrayList<Integer>();

int[] arr = new int[list.size()];
for (int i=0; i<arr.length; i++)
	arr[i] = list.get(i).intValue();
return ret;
profile
wanderlust

0개의 댓글

관련 채용 정보