본문 바로가기

코딩 문제/프로그래머스

프로그래머스 - 코딩테스트 - Level1 - 같은 숫자는 싫어

728x90

 

풀이

 

import java.util.*;

 

public class Solution {

      public int[] solution(int []arr) {

            int[] answer = {};

            int[] test = new int[arr.length];

            int num = -1;

            int a = 0;

            int count = 0; // test 배열 인덱스

 

            for(int i=0; i<test.length; i++){ // test 배열 초기화

                  test[i] = -1;

            }

 

            for(int i=0; i<arr.length; i++){

                  a = arr[i]; // 해당 값 할당

                  num = -1;

                  for(int j=i; j<arr.length; j++){ // 중복되지 않는 인덱스 찾기

                        if(a != arr[j]){

                              num = j; // 인덱스 저장

                              break;

                        }

                  }

                  test[count] = arr[i]; // test 배열에 중복 제거한 값 넣기

                  count++; // test 배열 인덱스 번호 증가

 

                  if(num == -1){ // 마지막까지 중복된 값일 경우

                        i = arr.length;

                  }else{

                        i = num-1;

                  }

            }

            answer = new int[count];

 

            for(int i=0; i<answer.length; i++){

                  answer[i] = test[i];

            }

            return answer;

      }

}

 

결과