728x90
코딩테스트 연습 - 배열 회전시키기 | 프로그래머스 스쿨 (programmers.co.kr)
보자마자 데크를 이용하면 되겠다는 생각이 들었다.
directions이 right면 q.offerFirst(q.pollLast()); left면 그 반대
여기서 q를 배열로 바꾸기 위해서 stream을 사용했다. 리스트를 배열로 바꿀 때랑 똑같다.
answer = q.stream().mapToInt(x-> x).toArray();
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.stream.IntStream;
public class Array_02 {
public static int[] solution(int[] numbers, String direction) {
int[] answer = {};
Deque <Integer> q = new ArrayDeque<Integer>();
IntStream.of(numbers).forEach(x->q.offerLast(x));
if (direction.equalsIgnoreCase("right")){
q.offerFirst(q.pollLast());
} else {
q.offerLast(q.pollFirst());
}
answer = q.stream().mapToInt(x->x).toArray();
return answer;
}
public static void main(String args[]){
int arr[] = {1,2,3};
System.out.println(solution(arr,"right"));
}
}
728x90
'알고리즘 > 프로그래머스' 카테고리의 다른 글
(프로그래머스/자바) 힌트문제2 04. 문자열 - 프로그래머스 : 문자열안에 문자열 (0) | 2023.07.25 |
---|---|
(프로그래머스/자바) 힌트문제2 01. 해시테이블 - 프로그래머스 : 한 번만 등장한 문자 (0) | 2023.07.25 |
(프로그래머스/자바) 힌트문제1 02. 문자열 - 프로그래머스 : 숫자 문자열과 영단어 (0) | 2023.07.18 |
(프로그래머스/자바) 힌트문제1 01. 수학 - 프로그래머스 : 짝수는 싫어요 (0) | 2023.07.18 |