on
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