본문 바로가기
공부/과제.

JAVA 문제풀이 08 나선형(달팽이) 배열

by 햄이; 2021. 4. 26.

 

 

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

댓글