Menu
Coddy logo textTech

복습 챌린지 #2

Coddy C 여정의 Fundamentals 섹션에 포함된 레슨 — 63개 중 60번째.

challenge icon

챌린지

쉬움

C 언어에서의 배열 조작 능력을 테스트해 봅시다!

2차원 배열(행렬)에 대한 연산을 수행하는 프로그램을 작성하세요:

  1. 다음을 수행하는 rotateMatrix 함수를 만드세요:
    • 2차원 정수 배열과 그 크기를 인자로 받습니다.
    • 행렬을 시계 방향으로 90도 회전시킵니다.
      행렬을 회전시키기 위해 다음을 사용하세요: rotated[j][size-1-i] = original[i][j];
    • 회전된 행렬을 반환합니다.
  2. 다음을 수행하는 findElement 함수를 만드세요:
    • 2차원 정수 배열, 그 크기, 그리고 목표 값을 인자로 받습니다.
    • 행렬에서 목표 값을 찾으면 1을, 그렇지 않으면 0을 반환합니다.

직접 해보기

#include <stdio.h>

void rotateMatrix(int original[][10], int rotated[][10], int size);
int findElement(int matrix[][10], int size, int target);

void rotateMatrix(int original[][10], int rotated[][10], int size) {
    // 여기에 코드를 작성하세요
}

int findElement(int matrix[][10], int size, int target) {
    // 여기에 코드를 작성하세요
}

// 아래 코드를 수정하지 마세요
int main() {
    int size;
    scanf("%d", &size);
    int matrix[10][10];
    int rotated[10][10];
    
    int value = 1;
    for (int i = 0; i < size; i++) {
        for (int j = 0; j < size; j++) {
            matrix[i][j] = value++;
        }
    }
    
    printf("Original Matrix:\n");
    for (int i = 0; i < size; i++) {
        for (int j = 0; j < size; j++) {
            printf("%d ", matrix[i][j]);
        }
        printf("\n");
    }
    printf("\n");
    
    rotateMatrix(matrix, rotated, size);
    
    printf("Rotated Matrix:\n");
    for (int i = 0; i < size; i++) {
        for (int j = 0; j < size; j++) {
            printf("%d ", rotated[i][j]);
        }
        printf("\n");
    }
    printf("\n");
    
    int result = findElement(matrix, size, 10);
    if (result) {
        printf("Found\n");
    } else {
        printf("Not found\n");
    }
    
    return 0;
}

Fundamentals의 모든 레슨