일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 27 | 28 |
29 | 30 | 31 |
Tags
- plugin
- aggregation
- Java
- flask
- TensorFlow
- 파이썬
- Mac
- API
- docker
- 900gle
- query
- token filter test
- analyzer test
- MySQL
- aggs
- Kafka
- sort
- 차트
- License
- Elasticsearch
- Python
- springboot
- zip 파일 암호화
- licence delete curl
- zip 암호화
- Test
- license delete
- high level client
- matplotlib
- ELASTIC
Archives
- Today
- Total
개발잡부
[programmers] 같은 숫자는 싫어 본문
반응형
큐/스택 이래서 큐랑 스택으로 풀었으나
public static int[] solution(int[] arr) {
Stack<Integer> stack = new Stack<>();
Queue<Integer> queue = new LinkedList<>();
for (int i = 0; i < arr.length; i++) {
if (i == 0) {
stack.push(arr[i]);
queue.add(arr[i]);
}
if (i > 0 && stack.peek() != arr[i]) {
stack.push(arr[i]);
queue.add(arr[i]);
}
}
int k = 0;
int[] answer = new int[queue.size()];
while (!queue.isEmpty()) {
answer[k] = queue.poll();
k++;
}
return answer;
}
아래코드가 더 간결하네
list.getLast() 가 있었네
public class Solution {
public int[] solution(int []arr) {
LinkedList<Integer> list = new LinkedList<Integer>();
list.add(arr[0]);
for(int i=1; i<arr.length;i++){
if(arr[i]!=list.getLast()){
list.add(arr[i]);
}
}
Integer[] listing = list.toArray(new Integer[list.size()]);
int []answer =Arrays.stream(listing).mapToInt(Integer::intValue).toArray();
return answer;
}
}
반응형
'이직' 카테고리의 다른 글
[groom] 구름이의 취미 (0) | 2023.05.13 |
---|---|
[codility] Dominator (0) | 2022.08.08 |
TwoSum (0) | 2022.07.27 |
hadoop 준비 (1) | 2022.07.27 |
[codility] Nesting (0) | 2022.07.26 |
Comments