[99클럽 코테 스터디 15일차 TIL] 프로그래머스 같은 숫자는 싫어

말하는 감자·2024년 11월 11일
0
post-thumbnail

99클럽 코테 스터디 15일차 TIL

💙 JAVA 비기너

📌 오늘의 학습 키워드

📌 공부한 내용

📍 오늘의 문제

📍 작성 코드

import java.util.*;

public class Solution {
    public Integer[] solution(int []arr) {
        Integer[] answer = {};
        
        Queue<Integer> queue = new LinkedList<>();
        
        int last = 10;
        
        for(int num : arr) {
            if(last != num) queue.add(num);
            last = num;
        }
        
        answer = queue.toArray(new Integer[queue.size()]);

        return answer;
    }
}

📌 오늘의 회고

문제가 스택/큐로 분류되어있어서 큐를 이용하여 풀었다.

foreach문으로 arr을 돌 때, 바로 앞에 있던 숫자 last와 추가하려는 숫자 num이 동일하지 않을 경우에만 queue에 추가해줬다.

이 때 last를 0으로 설정해줬더니 오답이었다.

프로그래머스 AI 코드 피드백이란 게 있어서 물어보니

이렇게 깔끔하게 답변을 해줬다. (요즘 세상 많이 좋아졌다.)
배열 arr의 원소의 크기는 0보다 크거나 같고 9보다 작거나 같은 정수이므로 원소로 들어올 수 없는 10으로 last를 선언해주었다.

ArrayList.toArray(new Object[])를 통해 queue에 있는 값들을 Integer[] answer에 넣어줬다.
이 때, ArrayList.toArray(new Object[])는 Object로만 변경이 되므로 int대신 Integer로 사용해줬다.


6점 뿌듯! 🥰

profile
나는 말하는 감자다

0개의 댓글