📦 문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
📦 문제 풀이
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
|
public static int[] solution(int[] arr) {
int[] answer = {};
int index = 0;//index생성
Stack<Integer> st = new Stack<>();
//매개변수를 for
for(int num : arr){
if(index == 0){//최초는 그냥 넣어주기
st.add(num);
index++;
//0번 이후 이전값과 같지 않을 때만 add()
} else if(!st.peek().equals(num)){
st.add(num);
index++;
}
}
;
answer = new int[index];//index만큼 배열 생성
//stack이 빌 때까지 반복
while (!st.empty()) {
int snum = st.pop();
answer[index-1] = snum;
index--;
}
return answer;
}
|
😅 풀이 후기
Stack을 연습해보고 싶어서 풀은 문제
다른사람들의 답을보니 stack을 사용하지 않아도 충분히 가능한 문제였던 것 같다.
얼마전에 stack을 직접 구현해보니 문제를 풀 때 머리속에 어떻게 작동하는건지 그려지는게 재밌는것 같다.
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 추억 점수 (0) | 2023.05.22 |
---|---|
[programmers] 최소직사각형 (1) | 2023.05.17 |
[프로그래머스][SQL] 그룹별 조건에 맞는 식당 목록 출력하기(131124) (0) | 2023.03.09 |
[프로그래머스][이해못함] 시소 짝궁 (0) | 2023.01.20 |
[Programmers] 없는 숫자 더하기 (0) | 2022.07.22 |