"SWEA 1961 숫자 배열 회전"의 두 판 사이의 차이

13번째 줄: 13번째 줄:
==Java==
==Java==
<source lang='java'>
<source lang='java'>
import java.util.Scanner;
import java.util.Arrays;
public class Solution {
    static int[][] rotate(int a[][]) {
        int i, j, temp, n = a.length;
        int z[][] = a.clone();
        for(i=0; i<z.length; i++) z[i] = z[i].clone();
        for(i=0; i<n/2; i++) {
            for(j=i; j<n-i-1; j++) {
                temp = z[i][j];
                z[i][j] = z[j][n-1-i];
                z[j][n-1-i] = z[n-1-i][n-1-j];
                z[n-1-i][n-1-j] = z[n-1-j][i];
                z[n-1-j][i] = temp;
            }
        }
        return z;
    }
    public static void main(String args[]) {
        final int units[] = {50000,10000,5000,1000,500,100,50,10};
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
        for(int t=1; t<=T; t++) {
            int n = sc.nextInt();
            int a[][] = new int[n][n];
            int i, j;
            for(i=0; i<n; i++) {
                for(j=0; j<n; j++) {
                    a[i][j] = sc.nextInt();
                }
            }
            int b[][] = rotate(a);
            int c[][] = rotate(b);
            int d[][] = rotate(c);
            System.out.format("#%d\n", t);
            for(i=0; i<n; i++) {
                for(j=0; j<n; j++) System.out.print(d[i][j]);
                System.out.print(" ");
                for(j=0; j<n; j++) System.out.print(c[i][j]);
                System.out.print(" ");
                for(j=0; j<n; j++) System.out.print(b[i][j]);
                System.out.println();
            }
        }
    }
}
</source>
</source>

2018년 9월 9일 (일) 00:48 판

1 개요

SWEA 1961 숫자 배열 회전
SW Expert 아카데미
# 문제 풀이

틀:SWEA 난이도 2-2

2 C++

3 Java

import java.util.Scanner;
import java.util.Arrays;
public class Solution {
    static int[][] rotate(int a[][]) {
        int i, j, temp, n = a.length;
        int z[][] = a.clone();
        for(i=0; i<z.length; i++) z[i] = z[i].clone();
        for(i=0; i<n/2; i++) {
            for(j=i; j<n-i-1; j++) {
                temp = z[i][j];
                z[i][j] = z[j][n-1-i];
                z[j][n-1-i] = z[n-1-i][n-1-j];
                z[n-1-i][n-1-j] = z[n-1-j][i];
                z[n-1-j][i] = temp;
            }
        }
        return z;
    }
    public static void main(String args[]) {
        final int units[] = {50000,10000,5000,1000,500,100,50,10};
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
        for(int t=1; t<=T; t++) {
            int n = sc.nextInt();
            int a[][] = new int[n][n];
            int i, j;
            for(i=0; i<n; i++) {
                for(j=0; j<n; j++) {
                    a[i][j] = sc.nextInt();
                }
            }
            int b[][] = rotate(a);
            int c[][] = rotate(b);
            int d[][] = rotate(c);
            System.out.format("#%d\n", t);
            for(i=0; i<n; i++) {
                for(j=0; j<n; j++) System.out.print(d[i][j]);
                System.out.print(" ");
                for(j=0; j<n; j++) System.out.print(c[i][j]);
                System.out.print(" ");
                for(j=0; j<n; j++) System.out.print(b[i][j]);
                System.out.println();
            }
        }
    }
}
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}