[자료구조] 가로방향으로 지그재그 배열

dusruddl2·2023년 8월 18일
0

자료구조

목록 보기
20/23

문제

NN을 입력받고
NN(1<=N<=100)N*N(1<=N<=100) 크기의 행렬에
아래 그림과 같이 ->, <-로 지그재그 채운 배열 문제 풀어라

ex) 444*4 배열일 때

코드

#include <stdio.h>
#include <stdlib.h>

int main() {
    int i,j, N;
    scanf("%d", &N);

    int X[100][100]={0};

    // 배열 채우기
    int num = 1;
    for (i = 0; i < N; i++) {
        if (i % 2 == 0) { // 짝수번째 행일 때
            for (j = 0; j < N; j++) {
                X[i][j] = num;
                num++;
            }
        }
        else { // 홀수번째 행일 때
            for (j = N - 1; j >= 0; j--) {
                X[i][j] = num;
                num++;
            }
        }
    }

    // 결과 출력
    for (i = 0; i < N; i++) {
        for (j = 0; j < N; j++) {
            printf(" %d", X[i][j]);
        }
        printf("\n");
    }

    return 0;
}

아이디어

짝수번째의 행일 때는 -> 방향
홀수번째 행일 때는 <- 방향

따라서
짝수번째 행일 때는 index가 0~(N-1)까지 입력
홀수번째 행일 때는 index가 (N-1)~0까지 입력

profile
정리된 글은 https://dusruddl2.tistory.com/로 이동

0개의 댓글