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

JOY·2023년 6월 4일
0

[CodingTest] Java

목록 보기
35/61
post-thumbnail

🫡 문제

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

🫡 코드

import java.util.*;

public class Solution {
    public int[] solution(int []arr) {
        
        Stack<Integer> stack = new Stack<>();
        stack.push(arr[0]); //배열의 첫번째 값은 넣어주어야 값 중복 여부를 체크하기 좋음
        
        for(int i=0; i<arr.length; i++){            
            if(stack.peek()!=arr[i]){ //stack에 들어있는 값과 arr[i]의 값이 같지 않을 경우
                stack.push(arr[i]);	  //stack에 push
            }
        }
        
        int[] answer = new int[stack.size()]; //stack의 크기 만큼 answer 배열 크기 초기화
        for(int i=0; i<stack.size(); i++){
            answer[i] = stack.get(i);
        }       

        return answer;
    }
}

🫡 풀이

stack

  1. peek(), push()
    • stack에 push 해준 값과 배열 arr에 들어있는 값이 같지 않을 경우에만 push
  2. get()
    • stack에 연속적으로 나타나는 숫자를 제거하고
      남은 수가 들어있는 값들을 get을 사용하여 배열 answer에 저장
profile
Just Do IT ------- 🏃‍♀️

0개의 댓글

관련 채용 정보