백준 - 2차원 배열
2022. 11. 12. 12:21ㆍ백준 - C
728x90
백준의 2차원 배열 문제들을 C로 풀이한 것입니다.
1. 행렬 덧셈
문제 해결 코드는 다음과 같습니다.
#include <stdio.h>
int main(void){
int a[100][100], b[100][100];
int n, m, i, j;
scanf("%d %d", &n, &m);
for(i = 0; i < n; i++){
for(j = 0; j < m; j++){
scanf("%d", &a[i][j]);
}
}
for(i = 0; i < n; i++){
for(j = 0; j < m; j++){
scanf("%d", &b[i][j]);
}
}
for(i = 0; i < n; i++){
for(j = 0; j < m; j++){
printf("%d ", a[i][j] + b[i][j]);
}
printf("\n");
}
return 0;
}

2. 최댓값
문제 해결 코드는 다음과 같습니다.
#include <stdio.h>
int main(void){
int i, j, max = 0, max_i, max_j;
int board[9][9];
for(i = 0; i < 9; i++){
for(j = 0; j < 9; j++){
scanf("%d", &board[i][j]);
if(board[i][j] >= max){
max = board[i][j];
max_i = i + 1;
max_j = j + 1;
}
}
}
printf("%d\n", max);
printf("%d %d\n", max_i, max_j);
return 0;
}

3. 색종이
문제 해결 코드는 다음과 같습니다.
#include <stdio.h>
int main(void){
int n;
int i, j, k, x, y, cnt = 0;
int board[100][100] = { 0 };
scanf("%d", &n);
for(i = 0; i < n; i++){
scanf("%d %d", &x, &y);
for(j = 0; j < 10; j++){
for(k = 0; k < 10; k++){
if(board[y + j][x + k] != 1){
board[y + j][x + k] = 1;
}
}
}
}
for(i = 0; i < 100; i++){
for(j = 0; j < 100; j++){
if(board[i][j] == 1){
cnt++;
}
}
}
printf("%d\n", cnt);
return 0;
}

728x90
'백준 - C' 카테고리의 다른 글
| 백준 - 반복문 (0) | 2022.11.12 |
|---|---|
| 백준 - 1차원 배열 (0) | 2022.11.12 |
| 백준 - 주사위 세개 (0) | 2022.10.28 |
| 백준 - 오븐 시계 (0) | 2022.10.28 |
| 백준 - 알람 시계 (0) | 2022.10.28 |