NxN 행렬에서 3개 연속, 4개 연속, 5개 연속 빙
고 찾기
¤ 가로, 세로, 대각선에서 찾아 시작 위치와 길이, 방
향을 출력
¤ 결과 출력 형식은 자유롭게
¤ 예 : (2,1)에서 가로로 5빙고
¨ N은 사용자가 입력하게 함 (3~5 사이)
¨ 행렬의 개수도 입력받음 (5~10 사이)
¨ 빙고 없는 경우 다시 생성함
* 쉽게말해서 (2,1) 3이뜨면 가로 2번째행, 세로 1번째행부터 똑같은 문자로 3개가 존재해서 3빙고가 되는거에요.
package entity;
import java.util.*;
public class Bingo
{
static int bingoArray[][];
static char Names[] = {'x', '\u2660', 'o'};
Bingo(){
bingoArray = new int[3][3];
}
int[][] initArray(){
Random rand = new Random();
for(int i = 0; i < bingoArray.length; i++){
for(int j = 0; j < bingoArray.length; j++){
bingoArray[i][j] = rand.nextInt(3);
}
}
return bingoArray;
}
void printArray(){
for(int i = 0; i < bingoArray.length; i++){
for(int j = 0; j < bingoArray.length; j++){
System.out.print(Names[bingoArray[i][j]] + " ");
}
System.out.println();
}
}
boolean checkArray(){
boolean judge = false;
for(int i = 0; i < bingoArray.length; i++){
if(bingoArray[i][0] == bingoArray[i][1] && bingoArray[i][1] == bingoArray[i][2]){
judge = true;
}
}
for(int i = 0; i < bingoArray.length; i++){
if(bingoArray[0][i] == bingoArray[1][i] && bingoArray[1][i] == bingoArray[2][i]){
judge = true;
}
}
if(bingoArray[0][0] == bingoArray[1][1] && bingoArray[1][1] == bingoArray[2][2]){
judge = true;
}
if(bingoArray[0][2] == bingoArray[1][1] && bingoArray[1][1] == bingoArray[2][0]){
judge = true;
}
return judge;
}
void calPrintArray(){
for(int i = 0; i < bingoArray.length; i++){
if(bingoArray[i][0] == bingoArray[i][1] && bingoArray[i][1] == bingoArray[i][2]){
System.out.println((i+1) + "행 빙고");
}
}
for(int i = 0; i < bingoArray.length; i++){
if(bingoArray[0][i] == bingoArray[1][i] && bingoArray[1][i] == bingoArray[2][i]){
System.out.println((i+1) + "열 빙고");
}
}
if(bingoArray[0][0] == bingoArray[1][1] && bingoArray[1][1] == bingoArray[2][2]){
System.out.println("왼 대각선 빙고");
}
if(bingoArray[0][2] == bingoArray[1][1] && bingoArray[1][1] == bingoArray[2][0]){
System.out.println("오른 대각선 빙고");
}
}
public static void main(String[] args) {
Bingo list[] = new Bingo[5];
for(int i = 0; i < list.length; i++){
list[i] = new Bingo();
do{
list[i].initArray();
}while(list[i].checkArray() == false);
list[i].printArray();
list[i].calPrintArray();
}
}
}
과제는 자기힘으로 하렴