-
[SWEA] [JAVA] [Difficulty 2] [1974] 스도쿠 검증SW Expert Academy 2022. 11. 18. 15:22
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
import java.util.*; import java.io.*; public class Solution { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int T= Integer.parseInt(br.readLine()); // 테스트케이스 for(int tc=1; tc<=T; tc++) { int arr[][] = new int[9][9]; for(int i=0; i<9; i++) { StringTokenizer st = new StringTokenizer(br.readLine()," "); for(int j=0; j<9; j++) { arr[i][j] = Integer.parseInt(st.nextToken()); } } // 가로줄 // boolean 형 배열을 이용하여 각줄의 수가 있을 경우 true로 초기화 // false값이 있는 경우 조건위배 garo를 0으로 초기화 int garo = 1; for(int i=0; i<9; i++) { boolean check[] = new boolean[10]; for(int j=0; j<9; j++) { check[arr[i][j]] = true; } for(int k=1; k<10; k++) { if(check[k] == false) { garo = 0; break; } } } // 세로줄 // 가로줄과 똑같이 int sero = 1; for(int i=0; i<9; i++) { boolean check[] = new boolean[10]; for(int j=0; j<9; j++) { check[arr[j][i]] = true; } for(int k=1; k<10; k++) { if(check[k] == false) { sero = 0; break; } } } // 격자 // 가로줄과 똑같이 int grid=1; for(int a=0; a<=6; a+=3) { for(int b=0; b<=6; b+=3) { boolean check[] = new boolean[10]; for(int i=0; i<3; i++) { for(int j=0; j<3; j++) { check[arr[i+a][j+b]] = true; } } for(int k=1; k<10; k++) { if(check[k] == false) { grid = 0; break; } } } } int ans=0; if(garo*sero*grid==1) { ans=1; } // sb에 저장 sb.append("#" + tc +' ' + ans + "\n"); } System.out.println(sb); } }
'SW Expert Academy' 카테고리의 다른 글
[SWEA] [JAVA] [Difficulty 2] [1970] 쉬운 거스름돈 (0) 2022.11.18 [SWEA] [JAVA] [Difficulty 2] [1976] 시각 덧셈 (0) 2022.11.18 [SWEA] [JAVA] [Difficulty 2] [2001] 파리 퇴치 (0) 2022.11.18 [SWEA] [JAVA] [Difficulty 2] [1954] 달팽이 숫자 (0) 2022.11.17 [SWEA] [JAVA] [Difficulty 2] [1961] 숫자 배열 회전 (0) 2022.11.17