1. 내 풀이
쌩으로 구현했다.
import java.util.*;
public class Solution {
public ArrayList<Integer> solution(int []arr) {
ArrayList<Integer> answer = new ArrayList<>();
int insertIdx = 0;
for(int i = 0; i<arr.length; i++){
if(insertIdx != 0 && answer.get(insertIdx-1) == arr[i]) continue;
answer.add(arr[i]);
insertIdx++;
}
return answer;
}
}
2. 다른 분 풀이
문제의 의도대로 stack을 이용해서 푼 모습을 볼 수 있다.
import java.util.*;
public class Solution {
public Stack<Integer> solution(int []arr) {
Stack<Integer> stack = new Stack<>();
for(int num : arr){
if(stack.size() == 0 || stack.peek() != num){
stack.push(num);
}
}
return stack;
}
}
'코딩테스트 > Programmers' 카테고리의 다른 글
[프로그래머스] 이상한 문자 만들기 (0) | 2025.02.26 |
---|---|
[프로그래머스] 3진법 뒤집기 / 진법 변환 (0) | 2025.02.26 |
[프로그래머스] 문자열 다루기 (0) | 2025.02.25 |
[프로그래머스] 나누어 떨어지는 숫자 배열 (0) | 2025.02.20 |
[프로그래머스] 정수 제곱근 판별 (0) | 2025.02.20 |