티스토리 뷰

728x90

https://school.programmers.co.kr/learn/courses/30/lessons/12906

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

프로그래머스 코딩테스트 고득점 Kit의 스택/큐 Level 1 문제다.

 

 

List나 일반 배열을 사용해도 되지만 스택/큐 카테고리 문제이기 때문에 큐를 이용하여 풀었다.

i번째의 값이 i-1과 같으면(값이 연속되면) 큐에 집어넣지 않고, 같지 않으면 큐에 집어 넣는다.

그리고 큐의 모든 값을 answer 배열에 저장하면 된다.

import java.util.*;

public class Solution {
    public int[] solution(int []arr) {
        Queue<Integer> q = new LinkedList<Integer>();
        
        q.offer(arr[0]);
        for(int i=1;i<arr.length;i++) {
            if(arr[i-1] == arr[i])
                continue;
            q.offer(arr[i]);
        }
        
        int[] answer = new int[q.size()];
        for(int i=0;i<answer.length;i++)
            answer[i] = q.poll();

        return answer;
    }
}
728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함