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

코드업 기초 배열연습 1468:2차원 배열 지그재그 채우기 2-1

티들 2023. 9. 24. 23:09

문제설명

다음과 같은 n*n 배열 구조를 출력해보자.

입력이 3인 경우 다음과 같이 출력한다.
1 2 3
6 5 4
7 8 9

입력이 5인 경우는 다음과 같이 출력한다.
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
21 22 23 24 25

입력이 n인 경우의 2차원 배열을 출력해보자.

입력
첫 번째 줄에 배열의 크기 n이 입력된다.
[입력값의 정의역]
1<=  n <= 100

 

출력

n*n 크기의 배열을 설명과 같이 채워 출력한다.

 

입력 예시

4

 

출력 예시

1 2 3 4

8 7 6 5

9 10 11 12

16 15 14 13

 

나의 코드

#include <stdio.h>

int main()
{
    int i, j, n, num=1;
    scanf("%d", &n);	// n을 입력받음
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            printf("%d ", num);	// num을 출력함
            if((i+1)%2==1 && j+1<n) num++;	// 그 줄마다 num을 더하거나 뺌
            else if(j+1<n) num--;
        }
        printf("\n");
        num+=n;	// n만큼 num에 더함
    }
    return 0;
}

 

문제 바로가기 : https://codeup.kr/problem.php?id=1468&rid=0