개인 공부/CodeUp 문제 풀이
1097 풀이
hy30nq
2024. 1. 5. 12:50
728x90
https://codeup.kr/problem.php?id=1097
[기초-2차원배열] 바둑알 십자 뒤집기(설명)
C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용
codeup.kr
답
#include <stdio.h>
int n, i, j, k, a, b;
int map[20][20];
int main()
{
for(i=1; i <= 19; i++)
for(j=1; j <= 19; j++)
scanf("%d", &map[i][j]);
scanf("%d", &n);
for(i=0; i < n; i++)
{
scanf("%d%d", &a, &b);
for(j=1; j <= 19; j++)
if(map[a][j] == 1) map[a][j]=0;
else map[a][j]=1;
for(j=1; j <= 19; j++)
if(map[j][b] == 1) map[j][b]=0;
else map[j][b]=1;
}
for(i=1; i <= 19; i++, puts(""))
for(j=1; j <= 19; j++)
{
printf("%d ", map[i][j]);
}
}
내가 푼 답
#include <stdio.h>
int main() {
int x, y, n;
int arr[20][20] = {};
for(int i=1; i<=19; i++) {
for(int j=1; j<=19; j++) {
scanf(" %d", &arr[i][j]);
}
}
scanf(" %d", &n);
for(int i=1; i<=n; i++) {
scanf(" %d %d", &x, &y);
for(int j=1; j<=19; j++) {
if(arr[x][j] == 0) {
arr[x][j] = 1;
} else {
arr[x][j] = 0;
}
}
for(int j=1; j<=19; j++) {
if(arr[j][y] == 0) {
arr[j][y] = 1;
} else {
arr[j][y] = 0;
}
}
}
for(int i=1; i<=19; i++) {
for(int j=1; j<=19; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
728x90