본문 바로가기
프로그래머스/[프로그래머스 - JAVA] Lv.1

[프로그래머스 - JAVA] 같은 숫자는 싫어

by 코딩하는 흰둥이 2023. 3. 30.


  • 내 풀이
import java.util.*;

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

        answer = new int[list.size()];
        answer = list.stream().mapToInt(Integer::intValue).toArray();
        
        // [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
        System.out.println("Hello Java");

        return answer;
    }
}

 

 

  • 다른 사람 풀이
import java.util.*;

public class Solution {
    public int[] solution(int []arr) {
        ArrayList<Integer> tempList = new ArrayList<Integer>();
        int preNum = 10;
        for(int num : arr) {
            if(preNum != num)
                tempList.add(num);
            preNum = num;
        }       
        int[] answer = new int[tempList.size()];
        for(int i=0; i<answer.length; i++) {
            answer[i] = tempList.get(i).intValue();
        }
        return answer;
    }
}

내가 풀이한 check와 preNum 이 같은 역할을 하고 있고

stream을 for문으로 풀이했다는 차이

공부겸 stream을 사용하였지만 실무에서는 for문을 사용했을 듯

댓글