반응형
https://programmers.co.kr/learn/courses/30/lessons/12906
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
//만약 arr값이 {1,1,0,3,3,3}이면 {1,0,3}으로 바꾼다...
//arr 배열의 값을 stack에 쌓는다! 카카오 인형뽑기랑 똑같다...!
//첫번째 인덱스 값을 스택에 쌓는다.
//두번째 인덱스 값을 스택에 쌓으려고한다..근데! 스택에 들어있는 최상위값과 비교한다
//두 값이 같다면 스택에 쌓지 않는다..
//세번째 인덱스 값을 스택에 쌓으려고한다.. 두 값이 다르다.. 스택에 쌓는다.
Stack<Integer> stack = new Stack<>();
//arr의 배열만큼 반복문을 돌린다.
for(int i=0; i<arr.length; i++){
//먼저 스택이 비어있는지 아닌지 체크한다.
//비어있다면 그냥 넣는다.
if(stack.empty()){
stack.push(arr[i]);
//스택에 어떤 값이 있다면
}else{
//스택에 있는 값을 가지고와서 넣으려는 값과 비교한다.
//두 값이 같지 않다면 stack에도 넣는다.
if(arr[i] != stack.peek()){
stack.push(arr[i]);
}
}
}
int[] answer = new int[stack.size()];
for(int j=stack.size()-1; j>=0; j--){
answer[j] = stack.peek();
stack.pop();
}
return answer;
}
}
반응형
'코딩테스트 > 프로그래머스 1단계' 카테고리의 다른 글
프로그래머스 1단계 - K번째수 (0) | 2021.04.18 |
---|---|
프로그래머스 1단계 - 체육복 (0) | 2021.04.16 |
프로그래머스 1단계 - 두개 뽑아서 더하기 (0) | 2021.04.15 |
프로그래머스 1단계 - 크레인 인형뽑기 게임 (0) | 2021.04.14 |
프로그래머스 1단계 - 나누어 떨어지는 숫자 배열 (0) | 2021.04.13 |