알고리즘 공부/CodeUp 문제풀이

코드업 1405:숫자 로테이션(C)

티들 2023. 10. 5. 23:49

문제 설명

n개의 숫자가 입력되면,

n개의 숫자를 왼쪽으로 하나씩 돌려서 출력하시오.

예) 1 2 3 4 5가 입력된 경우,

1 2 3 4 5

2 3 4 5 1

3 4 5 1 2

4 5 1 2 3

5 1 2 3 4

 

입력

첫째 줄에 숫자의 개수 n이 입력된다.( 1 <= n <= 1,000)

둘째 줄에 n개의 정수 k가 공백으로 구분되어 입력된다.(1 <= k <= 1,000)

 

출력

숫자를 로테이션한 결과를 출력한다.(단, 왼쪽으로만 돌린다.)

 

입력 예시

5

1 2 3 4 5 

 

출력 예시

1 2 3 4 5

2 3 4 5 1

3 4 5 1 2

4 5 1 2 3

5 1 2 3 4

 

나의 코드

#include <stdio.h>

int main()
{
    int a, t, e, w;
    scanf("%d", &a);	// 입력
    int n[a];
    for(int i=0;i<a;i++)
		scanf("%d ", &n[i]);	// 숫자 입력
        
    for(int i=0;i<a;i++)
    {
        for(int j=0;j<a;j++)
            printf("%d ", n[j]); // 출력
            
        w = n[0];	// 첫 숫자 저장
        for(int j=0;j<a;j++)
        {
        	// 앞당김
            n[j] = n[j+1];
        }
        n[a-1] = w;	// 마지막에 첫 숫자 대입
        printf("\n");	// 줄바꿈
    }
}

 

문제 바로가기:https://codeup.kr/problem.php?id=%201405&rid=26250