내 코드 - Deque 사용
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
int[] answer = {};
/**
* Deque 자료구조 사용
*/
Deque<Integer> deque = new ArrayDeque<>();
for (int i = 0; i < arr.length; i++) {
if (i == 0) {
deque.push(arr[i]);
} else {
if (deque.getLast() != arr[i]) {
/**
* 주의
*
* deque.push()는 앞부분에 자료 삽입
* deque.add()는 뒷부분에 자료 삽입
*/
deque.add(arr[i]);
}
}
}
answer = new int[deque.size()];
int idx = 0;
Iterator<Integer> iterator = deque.iterator();
while (iterator.hasNext()) {
answer[idx] = iterator.next();
idx++;
}
return answer;
}
}
다른 사람 코드 - temp = -1이라는 값을 주었음
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
List<Integer> list = new ArrayList<>();
/**
* temp를 -1로 줘서
* i = 0 분기를 만들지 않고 깔끔하게 해결
*/
int temp = -1;
for(int i: arr) {
if(temp == i) {}
else list.add(i);
temp = i;
}
int[] result = new int[list.size()];
for(int i=0; i<list.size(); i++)
result[i] = list.get(i);
return result;
}
}
'프로그래머스' 카테고리의 다른 글
프로그래머스 - 약수의 합 (0) | 2019.01.09 |
---|---|
프로그래머스 - 문자열 내 마음대로 정렬하기 (0) | 2019.01.09 |
프로그래머스 - 콜라츠 추측 (0) | 2019.01.08 |
프로그래머스 - 자연수 뒤집어 배열로 만들기 (0) | 2019.01.08 |
프로그래머스 - 정수 내림차순으로 배치하기 (0) | 2019.01.08 |