이중 배열에 입력값을 넣고 룩을 발견했을때 x, y좌표값으로 상,하,좌,우 값들을 하나하나씩 보면서 킹이 나오면 출력 1을 하고 장애물이 나오거나 킹이 안나오면 넘어가게 하면 된다.
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[][] arr = new int[8][8];
int num;
int num2 = 0;
for (int i=0;i<8;i++){
for (int j=0;j<8;j++){
num = s.nextInt();
arr[i][j] = num;
}
}
for (int i=0;i<8;i++){
for (int j=0;j<8;j++){
if (arr[i][j] == 2){
for (int k=j;k>=0;k--){
if (arr[i][k] == 3){
break;
}
else if (arr[i][k] == 1 && num2 == 0){
System.out.println(1);
num2++;
break;
}
}
for (int l=j;l<=7;l++){
if (arr[i][l] == 3){
break;
}
else if (arr[i][l] == 1 && num2 == 0) {
System.out.println(1);
num2++;
break;
}
}
for (int m=i;m<=7;m++){
if (arr[m][j] == 3){
break;
}
else if (arr[m][j] == 1 && num2 == 0) {
System.out.println(1);
num2++;
break;
}
}
for (int n=i;0<=n;n--){
if (arr[n][j] == 3){
break;
}
else if (arr[n][j] == 1 && num2 == 0) {
System.out.println(1);
num2++;
break;
}
}
}
}
}
if (num2 == 0) {
System.out.print(0);
}
}
}