이 문제에선 5 X 5 배열의 각 원소의 상하좌우에 있는 값들과 비교후 작으면 * 을 출력한다. 첫번째 줄 마지막 줄 오른쪽 왼쪽 줄 같은 경우는 상하 좌우를 다 비교하지 못한다. 그래서 생각할게 많아지고 조건이 많아지면서 코드가 굉장히 길어지고 헷갈릴 수 있다. 그래서 5 X 5 배열을 7 X 7로 만들어 주는 것이다. 모든 원소를 상하좌우 비교할수 있게 하는 것이다. 이러면 생각 해야하는 조건이 하나 밖에 없어진다.
import java.util.Scanner;
public class Main{
public static void main(String[] args){
// Please Enter Your Code Here
Scanner s = new Scanner(System.in);
int num;
int[][] arr = new int[7][7];
for (int i=1;i<6;i++){
for (int j=1;j<6;j++){
num = s.nextInt();
arr[i][j] = num;
}
}
for (int i=0;i<=6;i++){
arr[i][0] = 100;
}
for (int i=0;i<6;i++){
arr[0][i] = 100;
}
for (int i=0;i<6;i++){
arr[6][i] = 100;
}
for (int i=0;i<6;i++){
arr[i][6] = 100;
}
for (int i=1;i<6;i++){
for (int j=1;j<6;j++){
if (arr[i][j+1] > arr[i][j] && arr[i][j-1] > arr[i][j] && arr[i+1][j] > arr[i][j] && arr[i-1][j] > arr[i][j]){
System.out.print("*" + " ");
}
else {
System.out.print(arr[i][j] + " ");
}
}
System.out.println();
}
}
}