23841

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

int main(void){
    // 행 열 입력 받기
    int row = 0, col = 0;
    scanf("%d %d", &row, &col);

    // 동적 메모리 할당하기 (2차원 배열)
    // malloc(sizeof(char*)*row); 
    // (char*)< 이거 필수 안하면 런타임 에러 (Segfault) 떠요 
    char **decalcomanie = malloc(sizeof(char*)*row); 
    for(int k = 0; k < row; k++){
        decalcomanie[k] = malloc(sizeof(char)*col);
    }

    // 색깔 입력 받기
    for(int i = 0; i < row; i++){
        getchar(); // 버퍼 비워주기 (\n 버퍼에서 지우기위함)
        for(int j = 0; j < col; j++){
            scanf("%c", &decalcomanie[i][j]);
        }
    }

    // 데칼코마니 해주기
    for(int i = 0; i < row; i++){
        for(int j = 0; j < col; j++){
            // 빈 곳(.)이 아니면 데칼코마니
            if(decalcomanie[i][j] != 46){ 
                decalcomanie[i][col-1-j] = decalcomanie[i][j];
            }
        }
    }

    // 출력
    for(int i = 0; i < row; i++){
        for(int j = 0; j < col; j++){
            printf("%c", decalcomanie[i][j]);
        }
        printf("\n");
    }

    // 메모리 해제 해주기
    for(int k = 0; k < row; k++){
        free(decalcomanie[k]);
    }
    free(decalcomanie);
    return 0;
}

+ Recent posts