1505 : 2차원 배열 채우기 3(달팽이 배열)

1505 : 2차원 배열 채우기 3(달팽이 배열)

728x90

n이 입력되면 크기가 n인 다음과 같은 2차원 배열을 출력하시오.

입력 예) 3 출력 예) 1 2 3 8 9 4 7 6 5

입력

2차원 배열의 크기 n이 입력된다.(n<=50)

출력

크기가 n인 달팽이 배열을 출력한다.(설명참조)

입력 예시 예시 복사

2

출력 예시

1 2

4 3

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int[][] b = new int[a][a]; int i=0, j=-1,n=0,t=1,g=a; while(true) { for(int o = 0; o < a; o++ ) { n++; j+=t; b[i][j] = n; } a--; for (int p = 0; p < a; p++) { n++; i+=t; b[i][j] = n; } t*=-1;//방향 전환 if(a<=0)break; } for (int l = 0; l < g; l++) { for (int k = 0; k < g; k++) { System.out.print(b[l][k]+" "); } System.out.println(); } }//main end }

출처 : https://codeup.kr/problem.php?id=1505

728x90

from http://d-12k7353.tistory.com/247 by ccl(A) rewrite - 2021-09-17 22:28:07