알고리즘/SWEA
[SWEA] 1974. 스도쿠 검증
Ellie67
2022. 11. 8. 11:24
https://swexpertacademy.com/main/main.do
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
SWEA 1974번
가로/세로/3*3으로 나눠서 풀었다.
3*3은 반복문마다 출력해보며 감을 잡았다.
외우는게 필요할 듯
import java.util.Scanner;
public class P1974 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for(int t=1; t<=T; t++){
int[][] a = new int[10][10];
for(int i=0; i<9; i++){
for(int j=0; j<9; j++){
a[i][j] = sc.nextInt();
}
}
boolean flag = true;
//가로
for(int i=0; i<9; i++){
int[] arr = new int[10];
for(int j=0; j<9; j++){
if(arr[a[i][j]]==0){
arr[a[i][j]] = 1;
} else {
flag = false;
break;
}
}
}
//세로
for(int i=0; i<9; i++){
int[] arr = new int[10];
for(int j=0; j<9; j++){
if(arr[a[j][i]]==0){
arr[a[j][i]] = 1;
} else {
flag = false;
break;
}
}
}
//3*3
for(int i=0; i<=6; i+=3){
for(int j=0; j<=6; j+=3){
int[] arr = new int[10];
for(int k=i; k<i+3; k++){
for(int g=j; g<j+3; g++){
if(arr[a[k][g]]==0){
arr[a[k][g]] = 1;
} else {
flag = false;
break;
}
}
}
}
}
if(flag) System.out.println("#"+t+" "+1);
else System.out.println("#"+t+" "+0);
}
}
}