본문 바로가기

알고리즘

[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;

}


'알고리즘' 카테고리의 다른 글

[Algorithm] 함수 사용하여 2차원배열의 최대값 구해보기  (0) 2019.01.14
[Algorithm] eightnine  (0) 2019.01.11
1094 [시뮬레이션2]  (0) 2019.01.07
2455 [시뮬레이션1]  (0) 2019.01.07
10872 팩토리얼 구하기  (0) 2019.01.06