끄적끄적 코딩일지

[Programmers]같은 숫자는 싫어(난이도:★★★★) 본문

알고리즘

[Programmers]같은 숫자는 싫어(난이도:★★★★)

BaekGyuHyeon 2022. 5. 16. 19:49

https://programmers.co.kr/learn/courses/30/lessons/12906

 

코딩테스트 연습 - 같은 숫자는 싫어

배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은

programmers.co.kr

import java.util.*;

public class Solution {
    public int[] solution(int []arr) {
        return solutionA(arr);
    }
    public int[] solutionA(int[] arr){
    // 연속적으로 나타나므로 sort할 필요 없음
        int[] tmp = new int[arr.length];
        int id = -1;
        int counter = 0;
        // id 와 값이 다르면 해당 숫자 tmp 에 저장
        for(int i : arr){
            if(i != id){
                tmp[counter] = i;
                id = i;
                counter++;
            }
        }
        // tmp에서 공백 제거후 리턴
        int[] ans = new int[counter];
        for(int i = 0; i < counter; i ++){
            ans[i] = tmp[i];
        }
        return ans;
    }
}