반응형
1961. 숫자 배열 회전
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
문제 분석
- N x N 행렬을 시계 방향으로 90도, 180도, 270도 회전한 모양을 출력해라
- 출력 모양
첫번째 줄 : [90도 회전시 첫번째 줄] [180도 회전시 첫번째 줄] [270도 회전시 첫번째 줄]
두번째 줄 : [90도 회전시 두번째 줄] [180도 회전시 두번째 줄] [270도 회전시 두번째 줄]
N번째 줄 : [90도 회전시 N번째 줄] [180도 회전시 N번째 줄] [270도 회전시 N번째 줄]
- 출력 모양
해결 포인트
- 90도 회전시 N번째 줄 출력
for (int k = 1; k <= N; k++) {
System.out.print(nums[N-k][i]);
}
- 180도 회전시 N번째 줄 출력
for (int k = 1; k <= N; k++) {
System.out.print(nums[N-i-1][N-k]);
}
- 270도 회전시 N번째 줄 출력
for (int k = N; k >= 1; k--) {
System.out.print(nums[N-k][N-i-1]);
}
코드
import java.util.Scanner;
import java.io.FileInputStream;
class Solution
{
public static void main(String args[]) throws Exception
{
//System.setIn(new FileInputStream("res/input.txt"));
Scanner sc = new Scanner(System.in);
int T;
T=sc.nextInt();
for(int test_case = 1; test_case <= T; test_case++) {
int N = sc.nextInt();
int[][] nums = new int[N][N];
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
nums[i][j] = sc.nextInt();
}
}
System.out.println("#"+test_case);
for (int i = 0; i < N; i++) {
for (int k = 1; k <= N; k++) {
System.out.print(nums[N-k][i]);
}
System.out.print(" ");
for (int k = 1; k <= N; k++) {
System.out.print(nums[N-i-1][N-k]);
}
System.out.print(" ");
for (int k = N; k >= 1; k--) {
System.out.print(nums[N-k][N-i-1]);
}
System.out.println();
}
}
}
}
반응형
'CodingTEST' 카테고리의 다른 글
[SW Expert D2] 1954. 달팽이 숫자 (0) | 2023.11.18 |
---|---|
[SW Expert D2] 1959. 두 개의 숫자열 (0) | 2023.11.18 |
[SW Expert D2] 1970. 쉬운 거스름돈 (0) | 2023.11.17 |
[SW Expert D2] 1974. 스도쿠 검증 (0) | 2023.11.17 |
[백준 2606] 바이러스 (JAVA) (0) | 2023.11.17 |