오른쪽으로 한 칸씩 shift 하기

uglyduck.dev·2020년 9월 29일
0

알고리즘 🧮

목록 보기
12/16

문제

  • n개의 정수를 입력받아 순서대로 배열에 저장한다.
    그런 다음 모든 정수들을 한 칸씩 오른쪽으로 shift하라.
    마지막 정수는 배열의 첫 칸으로 이동한다.

shift1

예제 입력

5
2 3 8 1 3

예제 출력

3
2
3
8
1

풀이

public class Main{
    public static void main(String[] args){
        Scanner kb = new Scanner(System.in);
        int n = kb.nextInt();
        int[] data = new int[n];
        for(int i=0; i<n; i++)
            data[i] = kb.nextInt();
        kb.close();
        
        int tmp = data[n-1]; // 배열의 맨 마지막 값
        for(int i=n-2; i>=0; i--) // 배열의 맨 마지막 값을 제외한 마지막 값
            data[i+1] = data[i]; // 한 칸씩 뒤로 이동
        data[0] = tmp;
        
        for(int i=0; i<n; i++)
            System.out.println(data[i]);
    }
}

Reference

profile
시행착오, 문제해결 그 어디 즈음에.

0개의 댓글