Q. 5 * 5 마방진
package Day8;
/*
* Q 17. 5 * 5 마방진
*/
public class Question1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int arr[][] = new int[5][5];
int r = 0;
int c = 2;
for(int i=1; i<=25; i++){
if(i%5!=0){ // i가 5의 배수가 아니면
arr[r][c] = i;//i값 넣어줌
r--; // 행 1감소
c++; // 열 1증가
}else{ //i가 5의 배수면 : 마방진에서는 5의 배수일 때 마다 행만 아래로 내려감
arr[r][c] = i;
r++;// 행 1증가
}
//배열의 행열 크기 벗어날 시 재초기화해줌
if(r < 0) {
r = 4;
}
if(c>4) {
c = 0;
}
}
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length; j++) {
System.out.printf("%d\t", arr[i][j]);
}
System.out.println();
}
}
}
나는 5의 배수 규칙으로 풀었으나,
오늘 선생님은 다른 방식으로도 풀어주셨다.
아마 그 방식이
개정 전 정보처리기사 알고리즘
문제에 있던 마방진 문제 방식 같은데🤔
이번 주말에 그 방식으로 풀고 같이 업로드해야겠다!
'공부 > 과제.' 카테고리의 다른 글
JAVA 문제풀이 12 버블정렬 (0) | 2021.04.26 |
---|---|
JAVA 문제풀이 11 (0) | 2021.04.26 |
JAVA 문제풀이 09 숫자 야구 게임 (0) | 2021.04.26 |
JAVA 문제풀이 08 나선형(달팽이) 배열 (0) | 2021.04.26 |
JAVA 문제풀이 07 지그재그 배열 (0) | 2021.04.26 |
댓글