#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int row, col;
scanf("%d %d", &row, &col);
char **m = malloc(sizeof(char*)*row);
for (int i = 0; i < row; i++)
{
m[i] = malloc(sizeof(char)*col + 1);
memset(m[i], 0, sizeof(char)*col + 1);
}
for (int i = 0; i < row; i++)
{
scanf("%s", m[i]);
}
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
if (m[i][j] == '*')
continue;
else
{
m[i][j] = '0';
for (int y = i - 1; y <= i + 1; y++)
{
for (int x = j - 1; x <= j + 1; x++)
{
if (y < 0 || x < 0 || y >= row || x >= col)
continue;
if (m[y][x] == '*')
m[i][j] += 1;
}
}
}
}
}
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
printf("%c ", m[i][j]);
}
printf("\n");
}
for (int i = 0; i < row; i++)
{
free(m[i]);
}
free(m);
return 0;
}
위와 같은 식으로 코딩했는데 심사통과는 안되네요 ㅠㅠ
어떤 부분이 문제인지 모르겠어요..
코드 디버깅은 제공되지 않습니다.
Unit 38.8은 문의가 많은 문제입니다.
이전 답변들을 참고하면 해결의 실마리를 찾을 수 있을 것 같습니다.
https://dojang.io/mod/forum/search.php?id=2&search=38.8