on
1506 : 2차원 배열 채우기 4(역달팽이 배열)
1506 : 2차원 배열 채우기 4(역달팽이 배열)
728x90
평소 호기심이 많은 남호는 정보고 사이트에 있는 달팽이 배열 문제를 다르게 만들고 싶었다.
입력 예시와 출력 예시를 참고 하여 n을 입력 받아 출력하는 프로그램을 작성하시오.
입력
배열의 크기 n이 입력된다. (n은 15보다 작은 홀수)
출력
역 달팽이 배열을 출력한다.
입력 예시 예시 복사
5
출력 예시
1 16 15 14 13
2 17 24 23 12
3 18 25 22 11
4 19 20 21 10
5 6 7 8 9
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[51][51]; int i=-1,j=0,c=1,t=1,d=a; for (int k = 0; k < d; k++) { for (int k2 = 0; k2 < a; k2++) { i+=t; b[i][j]=c++; } a--; for (int k2 = 0; k2 < a; k2++) { j+=t; b[i][j]=c++; } t*=-1; } for (int l = 0; l < d; l++) { for (int k = 0; k < d; k++) { System.out.print(b[l][k]+" "); } System.out.println(); } } }
출처 : https://codeup.kr/problem.php?id=1506
728x90
from http://d-12k7353.tistory.com/248 by ccl(A) rewrite - 2021-09-18 18:27:48