거인의 코딩일지
[Lv.0_Java] 배열 회전 시키기 본문
728x90
class Solution {
public int[] solution(int[] numbers, String direction) {
int[] answer = new int [numbers.length];
if(direction.equals("right")){
int k = 1;
for(int i = 0; i < numbers.length-1; i++){
answer[0] = numbers[numbers.length - 1];
answer[k++] = numbers[i];
}
}else{
int k = 0;
for(int i = 1; i < numbers.length; i++){
answer[k++] = numbers[i];
answer[answer.length-1] = numbers[0];
}
}
return answer;
}
}
direction의 값에 따라 배열을 달리 움직여야 하기에 나는 if - else 를 사용하여 나눠주었고 그 안에 알맞은 for 문을 돌려서 answer 배열에 넣어주고 마지막값 혹은 첫번째 값만 바꿔 주었다!
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/016.gif)
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
class Solution {
public int[] solution(int[] numbers, String direction) {
List<Integer> list = Arrays.stream(numbers).boxed().collect(Collectors.toList());
if (direction.equals("right")) {
list.add(0, list.get(list.size() - 1));
list.remove(list.size() - 1);
} else {
list.add(list.size(), list.get(0));
list.remove(0);
}
return list.stream().mapToInt(Integer::intValue).toArray();
}
}
다른 사람 코드를 보니 list 를 사용하여 더 간단하게 해결하였다....!
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/012.gif)
728x90
'알고리즘테스트 > Programmers' 카테고리의 다른 글
[Lv.0_Java] 주사위 게임 2 (0) | 2023.08.16 |
---|---|
[Lv.0_Java] 외계행성의 나이 (0) | 2023.08.16 |
[Lv.0_Java] 최빈값 구하기 (0) | 2023.08.16 |
[Lv.0_Java] 가장 큰 수 찾기 (0) | 2023.08.16 |
[Lv.0_Java]문자열 정렬하기(1) (0) | 2023.08.16 |