자바로 이 알고리즘을 짜봤습니다.
쉽게 알아보기 위해서 소스에서는 배열 크기를 하나씩 더 늘려서 만들었습니다.
//배열 A(4,3) -> B(3,4)에 저장 public class Fifteen1 { public static void main(String args[]) { int ROW = 4; int COL = 3; int P = 1; int Q = 0; int A[][] = new int[5][4]; int B[][] = new int[4][5]; int N = 0; System.out.println("A 배열입니다."); //A배열 출력 for(int i =1; i<=ROW; i++) { for(int j = 1; j<=COL; j++) { N++; A[i][j] = N; System.out.print("["+A[i][j]+"]"); if(j == 3) { System.out.println(""); } } }
System.out.println("\n"); System.out.println("B 배열입니다."); //변환~! for(int i = 1; i<=ROW; i++) { for(int j = 1; j<=COL; j++) { Q++; B[P][Q] = A[i][j]; if(Q>=ROW) { P++; Q=0; } else {} } } //B배열 출력 for(int i = 1; i<=3; i++) { for(int j = 1; j<=4; j++) { System.out.print("["+ B[i][j] +"]"); if(j == 4) { System.out.println(""); } } } } } |
출력화면