on
1484 : [기초-배열연습] 2차원 배열 달팽이 채우기 4-1
1484 : [기초-배열연습] 2차원 배열 달팽이 채우기 4-1
728x90
다음과 같은 n*m 배열 구조를 출력해보자.
입력이 3 4인 경우 다음과 같이 출력한다.
1 2 3 4
10 11 12 5
9 8 7 6
입력이 4 5인 경우는 다음과 같이 출력한다.
1 2 3 4 5
14 15 16 17 6
13 20 19 18 7
12 11 10 9 8
입력이 n m인 경우의 2차원 배열을 출력해보자.
입력
첫 번째 줄에 배열의 크기 n m이 입력된다.
[입력값의 정의역]
1<= n,m <= 100
출력
n*m 크기의 배열을 설명과 같이 채워 출력한다.
입력 예시 예시 복사
2 3
출력 예시
1 2 3
6 5 4
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=0 ,t = 1,f=a,g=b; //달팽이 while(true) { for (int l = 0; l < b; l++) { n+=1; 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/228 by ccl(A) rewrite - 2021-09-12 16:27:42