[프로그래머스] 코딩테스트 연습 - 연습문제 Level 1 같은 숫자는 싫어

uoahy·2021년 9월 27일
0

Solution.java

import java.util.*;

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

        return answer;
    }
}

다 풀고나서 다른 사람의 풀이를 보고 배운점이 있는 문제였다.

pre라는 변수를 하나 만들어서 0~9가 아닌 다른 값으로 초기화해두고

그 값을 업데이트하면서 비교하면 처음에 tmp.add(arr[0])와 i = 1부터 시작하는걸 안해도 된다.

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

0개의 댓글