https://school.programmers.co.kr/learn/courses/30/lessons/12906
정답
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
Stack<Integer> stk = new Stack<>();
for(int i=0; i<arr.length; i++)
{
if(stk.isEmpty() || stk.peek()!=arr[i])
{
stk.push(arr[i]);
}
}
int answer[] = new int[stk.size()];
for(int i=0; i<answer.length; i++)
{
answer[i] = stk.pop();
}
int result[] = new int[answer.length];
for(int i=0; i<answer.length; i++)
{
result[answer.length-1-i] = answer[i];
}
return result;
}
}
다른 사람의 풀이
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
List<Integer> list = new ArrayList<Integer>();
list.add(arr[0]);
for (int i = 1; i < arr.length; i++) {
if (arr[i] != arr[i - 1])
list.add(arr[i]);
}
int[] answer = new int[list.size()];
for (int i = 0; i < list.size(); i++)
answer[i] = list.get(i);
return answer;
}
}
'Java > 프로그래머스' 카테고리의 다른 글
[JAVA] 프로그래머스 - 최대 공약수와 최대 공배수 (0) | 2024.05.27 |
---|---|
[JAVA] 프로그래머스 - 이상한 문자 만들기 (0) | 2024.05.26 |
[JAVA] 프로그래머스 - 공원 산책 (0) | 2024.05.24 |
[JAVA] 프로그래머스 - 행렬의 덧셈 (0) | 2024.05.24 |
[JAVA] 프로그래머스 - 문자열 다루기 기본 (0) | 2024.05.24 |