(Q) 다음 규칙에 따라 빙고판을 만드세요
- 5x5 크기의 정수 배열을 준비합니다
- 1부터 25까지의 숫자를 중복없이 무작위 위치에 배치합니다
- 한 칸에는 한 번만 값을 배치할 수 있습니다
- 크기가 달라질 경우에도 달라진 크기에 맞게 빙고판이 만들어져야 합니다
ex)
20 13 5 14 19
6 12 1 8 25
21 2 9 15 18
22 10 16 3 7
11 24 4 17 23
package day08;
import java.util.Random;
public class Day08_array2d_Test07 {
public static void main(String[] args) {
// 행과 열 입력
int row = 5;
int column = 5;
// 배열 생성
int[][] array = new int[row][column];
Random r = new Random();
// 랜덤 위치에 숫자 1에서 25까지 배치
int count = 1;
for(int i = 0 ; i < row * column ; i ++) {
int x = r.nextInt(5);
int y = r.nextInt(5);
if(array[x][y] == 0) {
array[x][y] = count;
count ++;
}
else { // array[x][y] 값이 0이 아니라면 (이미 숫자가 배치됨)
i --; // 다시 배치 (시행 취소)
}
}
// 배열 출력
for(int i = 0 ; i < row ; i ++) {
for(int j = 0 ; j < column ; j ++) {
System.out.print(array[i][j] + "\t");
}
System.out.println();
}
}
}
'국비교육 > 국비교육 복습' 카테고리의 다른 글
Day08_array2d_Test09 : 성적의 합계, 평균, 등수 (2차원 배열의 활용) (★★) (0) | 2022.08.07 |
---|---|
!Day08_array2d_Test08 : 지뢰 찾기 + 자신 근처 지뢰 갯수 카운트 (★★★★) (0) | 2022.08.07 |
!Day08_array2d_Test06 : 2차원 배열 (대각 방향 초기화 - 마방진의 원리) (★★★) (0) | 2022.08.07 |
Day08_array2d_Test05 : 2차원 배열 (세로 방향 초기화) + MOD를 이용하는 방법 (★) (0) | 2022.08.07 |
Day08_array2d_Test04 : 2차원 배열에서의 합계 (★) (0) | 2022.08.07 |