Search

배열8_문제08_빙고

대분류
STEP05 배열
소분류
배열8_문제

영상

문제

package 배열8_문제; /* [문제] 아래 배열에 숫자1 또는 숫자2를 랜덤으로 가득 채운다. 가로 세로 대각선이 연속으로 한 줄이 되면 빙고이다. 각 숫자별로 빙고가 몇 개인지 출력하시오. [예시] 1122 2122 1112 2111 빙고 1 : 2개 빙고 2 : 0개 */ public class 배열8_문제08_빙고_문제 { public static void main(String[] args) { int[][] bingo = new int[4][4]; } }
Java
복사

해설

package 배열8_문제; import java.util.Arrays; import java.util.Random; /* [문제] 아래 배열에 숫자1 또는 숫자2를 랜덤으로 가득 채운다. 가로 세로 대각선이 연속으로 한 줄이 되면 빙고이다. 각 숫자별로 빙고가 몇 개인지 출력하시오. [예시] 1122 2122 1112 2111 빙고 1 : 2개 빙고 2 : 0개 */ public class 배열8_문제08_빙고_정답 { public static void main(String[] args) { Random ran = new Random(); int size = 4; int[][] bingo = new int[size][size]; for(int i=0; i<size; i++) { for(int j=0; j<size; j++) { bingo[i][j] = ran.nextInt(2) + 1; } } /* int[][] bingo = { [2, 2, 1, 1] [2, 1, 2, 2] [2, 1, 2, 1] [2, 2, 2, 1] }; */ for(int i=0; i<size; i++) { System.out.println(Arrays.toString(bingo[i])); } int bingo1 = 0; int bingo2 = 0; // 가로 for(int i=0; i<size; i++) { int count1 = 0; int count2 = 0; for(int j=0; j<size; j++) { if(bingo[i][j] == 1) { count1 += 1; } if(bingo[i][j] == 2) { count2 += 1; } } if(count1 == size) bingo1 += 1; if(count2 == size) bingo2 += 1; } // 세로 for(int i=0; i<size; i++) { int count1 = 0; int count2 = 0; for(int j=0; j<size; j++) { if(bingo[j][i] == 1) { count1 += 1; } if(bingo[j][i] == 2) { count2 += 1; } } if(count1 == size) bingo1 += 1; if(count2 == size) bingo2 += 1; } // 대각선 \ if(bingo[0][0] == 1 && bingo[1][1] == 1 && bingo[2][2] == 1 && bingo[3][3] == 1) bingo1 += 1; if(bingo[0][0] == 2 && bingo[1][1] == 2 && bingo[2][2] == 2 && bingo[3][3] == 2) bingo2 += 1; // 대각선 / if(bingo[3][3] == 1 && bingo[1][2] == 1 && bingo[2][1] == 1 && bingo[3][0] == 1) bingo1 += 1; if(bingo[3][3] == 2 && bingo[1][2] == 2 && bingo[2][1] == 2 && bingo[3][0] == 2) bingo2 += 1; System.out.println("빙고1 : " + bingo1 + "개"); System.out.println("빙고2 : " + bingo2 + "개"); } }
Java
복사