이거 2중 반복으로 출력인데



#include <stdio.h>
int main(void)
{
    int i, j, n = 0;
    const int matrix = 5;

    for (i = 1 ; i <= matrix; i++) {
        for (j = 1; j <= matrix; j++) {
            if (i % 2 == 0) {
                printf("%d", (matrix*i) - (j - 1));
                n++;
            } else {
                printf("%d", ++n);
            }
            putchar(' ');
        }
        putchar(' ');
    }
    return 0;
}

이렇게 풀면 ㅄ인가요 ㅜㅜ
더 효율적인 코드 있는지 궁금합니다.