본문 바로가기
코딩테스트/프로그래머스

[스택/큐] 같은 숫자는 싫어 - JAVA

by 의정부핵꿀밤 2022. 8. 19.
728x90

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

 

프로그래머스

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

programmers.co.kr


 

이 문제는 연속적으로 중복되는 숫자만 제거하면 된다

처음에는 아예 중복 자체를 없애야 하는 줄 알고 Stack 이용해서 contains가 false일 때만 추가하는 식으로 했는데 그러면 모든 중복이 사라지게 된다

그래서 이전 값을 저장하는 변수를 이용해서 그 값과 다른 경우에만 리스트에 추가하는 방식으로 구현했다

그 후 배열로 반환해야 하기 때문에 리스트를 stream 함수를 이용해서 배열로 변환해서 반환한다

 

 

 

자바 코드)

import java.util.*;

public class Solution {
    public int[] solution(int []arr) {
        List<Integer> answer = new ArrayList<>();
        int value = -1;
        for(int i=0;i<arr.length;i++) {
            if(arr[i] != value) {
                answer.add(arr[i]);
                value = arr[i];
            }
        }
        return answer.stream().mapToInt(i->i).toArray();
    }
}
728x90

'코딩테스트 > 프로그래머스' 카테고리의 다른 글

[SQL] JOIN 문제  (0) 2022.09.01
[연습문제] 콜라츠 추측  (0) 2022.08.21
외벽점검 - JAVA  (0) 2022.08.17
합승 택시 요금 - JAVA  (0) 2022.08.01
소수 만들기 - JAVA  (0) 2022.07.23

댓글