SSONG Cloud

[SWEA] 1974 수도쿠 검증 본문

Algorithm/SW Expert Academy

[SWEA] 1974 수도쿠 검증

SSONGMI 2021. 1. 24. 20:19
반응형
import java.util.Scanner;
import java.io.FileInputStream;
 
class Solution
{
    static int[] used = new int[10];
    static int flag = 1;
    static int[][] intArray = new int[9][9];
     
    static int rowCon() {
        for(int i = 0; i < intArray[0].length; i++) {
            arrReset(used);
            for(int j = 0; j < 9; j++ ) {
                used[intArray[i][j]] = 1;
            }
            flag = isUsed(used);
            if(flag == 0) break;
        }
        return flag;
    }
     
    static int colCon() {
        for(int i = 0; i < intArray[0].length; i++) {
            arrReset(used);
            for(int j = 0; j < 9; j++ ) {
                used[intArray[j][i]] = 1;
            }
            flag = isUsed(used);
            if(flag == 0) break;
        }
        return flag;
    }
     
    static int blockCon() {
             
        for(int i = 0; i < 9; i = i+3) {
            arrReset(used);
            for(int j = 0; j < 3; j++) {
                for(int k = 0; k < 3; k++) {
                    used[intArray[j+i][k+i]] = 1;
                }
            }
            flag = isUsed(used);
            if(flag == 0) break;
        }
        return flag;
    }
     
    static void arrReset(int[] arr) {
         
        for(int i = 0; i < arr.length; i++) {
            arr[i] = 0;
        }
    }
     
    static int isUsed(int[] arr) {
        int used = 1;
        for(int i = 1; i < arr.length; i++) {
            if(arr[i] != 1) { used = 0; }
             
        }
        return used;
         
    }
    public static void main(String[] args) {
         
        Scanner sc = new Scanner(System.in);
         
        int T = Integer.parseInt(sc.nextLine());
         
        for(int i = 1; i <= T; i++) {
             
            for(int j = 0; j < 9; j++) {
                for(int k = 0; k < 9; k++) {
                    intArray[j][k] = sc.nextInt();
                }
            }
 
             
            if( rowCon() == 0 || colCon() == 0 || blockCon() == 0) {
                System.out.println("#" + i + " 0");
            }else {
                System.out.println("#" + i + " 1");
            }
        }
    }
}
반응형

'Algorithm > SW Expert Academy' 카테고리의 다른 글

[SWEA] 2805 농작물 수확하기  (0) 2021.01.24
[SWEA] 2005 파스칼의 삼각형  (0) 2021.01.24
[SWEA] 1284 수도 요금 경쟁  (0) 2021.01.24
[SWEA] 간단한 369게임  (0) 2021.01.24
[SWEA] 1204 최빈수 구하기  (0) 2021.01.24
Comments