티스토리 뷰
배열 A와 int K를 입력 받아서, K번만큼 오른쪽으로 로테이션한 결과를 반환하도록 구현하는 문제.
덱을 사용하여 K번만큼 뒤에서 빼서 앞으로 넣고 이런 식으로 로테이션함.
import java.util.ArrayDeque;
import java.util.Arrays;
import java.util.Deque;
// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");
class Solution {
public int[] solution(int[] A, int K) {
// 빈 배열 예외처리
if (A.length == 0) {
return A;
}
int[] result = new int[A.length];
Deque<Integer> deque = new ArrayDeque<>();
for (int a : A) {
deque.add(a);
}
for (int i = 0; i < K; i++) {
deque.addFirst(deque.pollLast());
}
int length = deque.size();
for (int i = 0; i < length; i++) {
result[i] = deque.poll();
}
return result;
}
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Synchronous
- 해시
- 블로킹
- 비동기
- 동기
- Asynchronous
- Handler Interceptor
- non-blocking
- a
- http://www.nextree.co.kr/p6960/
- 프로그래머스 Level 2
- 스택/큐
- 프로그래머스 Level 1
- 프로그래머스
- 코딩테스트 고득점 Kit
- 인터셉터
- blocking
- 핸들러 인터셉터
- 논블로킹
- 필터
- 프로그래머스 Level 3
- Filter
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함