Q1. 2차원배열 나선형 출력(달팽이)
package Day7;
/*
* Q 16.
* 달팽이
* 힌트 1. 가로 2. 세로(4) 3. 역가로-(4) 4.역세로-(3) 5.가로(3) 6. 세로(3) 7.역가로-(2) 8 역세로-(1) 9가로(1)
* */
public class Question5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int arrSize = 5;
int[][] arr = new int[arrSize][arrSize];
int R = 0; // 행
int C = -1; // 열
int K = arrSize; // 반복횟수
int SW = 1; // 증감
int N = 1; // 값
/* 달팽이 만들기 */
while (true) {
for (int i = 0; i < K; i++) { // 행고정 열변화
C += SW;
arr[R][C] = N++;
}
K--;
if (K == 0)
break;
for (int j = 0; j < K; j++) { // 열고정 행변화
R += SW;
arr[R][C] = N++;
}
SW *= -1;
}
for (int i = 0; i < arrSize; i++) {
for (int j = 0; j < arrSize; j++) {
System.out.printf("%d\t", arr[i][j]);
}
System.out.println();
}
}
}
이 날 어이없는 행열 실수때문에
오류만 찾다가 다 못풀고
(행열이 그게 맞는줄알고 절대 오류 아니라고 생각함ㅎㅎ;;)
결국 선생님이 주신 코드 뜯어본 날^^
다른건 몰라도 달팽이 만큼은
절대 잊지 않겠다...🤬
'공부 > 과제.' 카테고리의 다른 글
JAVA 문제풀이 10 마방진 (0) | 2021.04.26 |
---|---|
JAVA 문제풀이 09 숫자 야구 게임 (0) | 2021.04.26 |
JAVA 문제풀이 07 지그재그 배열 (0) | 2021.04.26 |
JAVA 문제풀이 06 (0) | 2021.04.26 |
JAVA 문제풀이 05 (0) | 2021.04.26 |
댓글