Array Shift
2022. 8. 7. 10:24ㆍ알고리즘(Algorithm)
배열이 주어졌을 때, 오른쪽, 왼쪽으로 배열을 이동하는 shift
import java.util.Array
public class ShiftTest{
public static void main(String[] args){
int[] arr = new int[] {1, 2, 3, 4, 5};
System.out.println(Arrays.toString(arr));
rightShift(arr);
System.out.println(Arrays.toString(arr));
leftShift(arr);
System.out.println(Arrays.toString(arr));
}
//배열을 왼쪽으로 한 칸씩 이동하는 함수
private static void leftShift(int[] arr){
//맨 앞 수를 저장한다 --> 덮어 써지기 때문
int temp = arr[0];
for(int i = 0; i<arr.length-1; i++){
//차례대로 오른쪽 수를 왼쪽으로 넣는다
arr[i] = arr[i+1];
}
//맨 마지막칸에 원래의 맨 첫 수를 넣는다
arr[arr.length-1] = temp;
}
//배열을 오른쪽으로 한 칸씩 이동하는 함수
private static void rightShift(int[] arr){
//가장 오른쪽(마지막) 수를 저장한다
int temp = arr[arr.length-1];
for(int i = arr.length-1; i>0; i--){
//차례대로 왼쪽 수를 오른쪽으로 넣는다
arr[i] = arr[i-1];
}
//맨 오른쪽 마지막 수를 맨 앞으로 넣는다
arr[0] = temp;
}
}
'알고리즘(Algorithm)' 카테고리의 다른 글
재귀 함수 (Recursion) (0) | 2022.08.07 |
---|---|
Next Permutation (0) | 2021.11.16 |
최소 신장 트리(MST) - Kruskal 알고리즘 / Prim 알고리즘 (0) | 2021.09.21 |
완전탐색 - 순열, 조합, 부분 집합 (0) | 2021.09.06 |
피보나치수열_Fibonacci Sequence (0) | 2021.08.11 |