Development Logs/Algorithms

[JAVA] 프로그래머스 : 같은 숫자는 싫어 (Level 1)

유뱅유뱅뱅 2020. 8. 28. 18:48

https://programmers.co.kr/learn/courses/30/lessons/12906?language=java

 

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

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

programmers.co.kr

해결 방안

standard라고 기준을 만들고 기준과 같으면 중복된 숫자이므로 넘어가고 다른 숫자가 나오면 list에 넣어준다.

그 후 list를 int 배열에 옮겨준다.

 

코드

import java.util.*;

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