1485 : [기초-배열연습] 2차원 배열 달팽이 채우기 4-2

1485 : [기초-배열연습] 2차원 배열 달팽이 채우기 4-2

728x90

다음과 같은 n*m 배열 구조를 출력해보자.

입력이 3 4인 경우 다음과 같이 출력한다.

12 11 10 9

3 2 1 8

4 5 6 7

입력이 4 5인 경우는 다음과 같이 출력한다.

20 19 18 17 16

7 6 5 4 15

8 1 2 3 14

9 10 11 12 13

입력이 n m인 경우의 2차원 배열을 출력해보자.

입력

첫 번째 줄에 배열의 크기 n m이 입력된다.

[입력값의 정의역]

1<= n,m <= 100

출력

n*m 크기의 배열을 설명과 같이 채워 출력한다.

입력 예시 예시 복사

2 3

출력 예시

6 5 4

1 2 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 = sc.nextInt(); int[][] c = new int[a][b]; int i=0, j=-1, n=a*b+1 ,t = 1,f=a,g=b; //달팽이 while(true) { for (int l = 0; l < b; l++) { n--; j+=t; c[i][j] = n; } a--; b--; for (int l = 0; l < a; l++) {//0 1 2 n--; i+=t; c[i][j] = n; } t*=-1; //방향 전환 if(a<=0||b<=0) break; //while 탈출조건 } for (int l = 0; l < f; l++) { //출력 for (int l2 = 0; l2 < g; l2++) { System.out.print(c[l][l2] +" "); } System.out.println(); } }//main end }

728x90

from http://d-12k7353.tistory.com/229 by ccl(A) rewrite - 2021-09-13 17:26:51