[Algorithm] BruteForce
5x5 2차원 배열이 주어질 때 어떤 원소가 상하좌우에 있는 원소보다 작을 때 해당 위치에 0 을 표시하는 프로그램을 작성하시오. 경계선에 있는 수는 상하좌우 중 존재하는 원소만을 비교한다.
#include <stdio.h>
#include<stdlib.h>
int result[5][5];
int arr[5][5];
int px[4] = {1,-1,0,0};
int py[4] = {0,0,1,-1};
bool search(int i, int j){
int row = i;
int col = j;
for(int k=0; k<4; k++){
if(arr[row+px[k]][col+py[k]]!=NULL){
if(arr[row][col]>=arr[row+px[k]][col+py[k]])
{
return false;
}
}
}
return true;
}
int main() {
//Please Enter Your Code Here
for(int i=0; i<5; i++){
for(int j=0; j<5; j++){
scanf("%d",&arr[i][j]);
result[i][j] = arr[i][j];
}
}
for(int i=0; i<5; i++){
for(int j=0; j<5; j++){
if(search(i,j)){
result[i][j] = 0;
}
}
}
for(int i=0; i<5; i++){
for(int j=0; j<5; j++){
printf("%d ",result[i][j]);
}
printf("\n");
}
return 0;
}