私は同じ数字が好きではありません.java


私は同じ数字が好きではありません。


💡 問題の説明


配列arr.アレイarrの各要素は、0から9の数字で構成されています.
この場合、アレイarrは連続して表示される数字を1つだけ保持し、すべて削除しようとします.
ただし、削除後に残数を返す場合は、アレイarr内の要素の順序を維持する必要があります.たとえば、
  • arr=[1,1,3,0,1]は[1,3,0,1]を返します.
  • arr=[4,4,4,3]は[4,3]を返します.
  • 配列arrから連続して現れる数字を削除し、残りの数を返すsolution関数を完了してください.

    💡 せいげんじょうけん

  • アレイarrサイズ:1000000以下の自然数
  • アレイarrの要素サイズ:0以上9以下の整数
  • 🔑 I/O例


    arranswer[1,1,3,3,0,1,1][1,3,0,1][4,4,4,3,3][4,3]

    💻 コードの作成-java


    ArrayListクラスの利用
    import java.util.*;
    
    class Solution {
    	public int[] solution(int[] arr) {
    		ArrayList<Integer> list = new ArrayList<Integer>();
    		list.add(arr[0]);   //list에 첫번 째 숫자 넣어줌
    		
    		for (int i = 1; i < arr.length; i++) {
    			if (arr[i] != arr[i - 1]) {//arr[1]부터 직전 숫자와 비교, 
    				list.add(arr[i]);  //다르면 list에 add
    			}
    		}
    		
    		int[] answer = new int[list.size()]; //list 크기만큼 배열 생성
    		for (int i = 0; i < answer.length; i++) {
    			answer[i] = list.get(i); // list에서 꺼내서 배열에 담는다.
    		}
    		return answer;
    	}
    }

    🔗 質問リンク


    [プログラマー-私は同じ数字が好きではありません]
    https://programmers.co.kr/learn/courses/30/lessons/12906