728x90
문제
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5Pq-OKAVYDFAUq
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
티어
소요 시간
24분
분류
브루트포스
문자열
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int t = Integer.parseInt(br.readLine());
for (int test = 1; test <= t; test++) {
st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int[][] matrix = new int[n][n];
for (int i = 0; i < n; i++) {
st = new StringTokenizer(br.readLine(), " ");
for (int j = 0; j < n; j++) {
matrix[i][j] = Integer.parseInt(st.nextToken());
}
}
String[][] rotateMatrix = new String[n][3];
for (int i = 0; i < n; i++) {
StringBuilder num90 = new StringBuilder(), num180 = new StringBuilder(), num270 = new StringBuilder();
for (int j = n - 1; j >= 0; j--) {
num90.append(matrix[j][i]);
num180.append(matrix[n - 1 - i][j]);
num270.append(matrix[n - j - 1][n - i - 1]);
}
rotateMatrix[i][0] = num90.toString();
rotateMatrix[i][1] = num180.toString();
rotateMatrix[i][2] = num270.toString();
}
System.out.println("#" + test);
for (int i = 0; i < n; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(rotateMatrix[i][j] + " ");
}
System.out.println();
}
}
}
}
코드 설명
풀이가 여러 개 나올 수 있는 문제였다.
위 풀이 같은 경우 인덱스 계산을 해서 한 번의 반복으로 한번에 구해 배열로 저장한 케이스다.
직접 회전하는 경우 시간이 너무 비효율적이라고 생각했기 때문에 직접 회전을 하는 것이 아닌 인덱스를 계산해서 구했다.
사실 이 문제를 계속 틀렸는데 아직 그 이유는 못찾았다.
내 예상엔 int로 *10 + (숫자)를 하며 회전한 결과를 만들어갔는데 숫자가 단일 숫자가 아닐 경우 때문일 수도 있을 것 같다.
또한 output에서 1234라는 숫자가 있을 때 001234, 01234등 문자열처럼 처리가 되었기 때문에 문자열로 처리하니 정답이 되었다.
728x90
'코딩테스트 > SWEA' 카테고리의 다른 글
[SWEA | Java] 7465번 창용 마을 무리의 개수 (0) | 2023.12.28 |
---|---|
[SWEA | Java] 1974번 스도쿠 검증 (0) | 2023.12.27 |
[SWEA | Java] 1959번 두 개의 숫자열 (1) | 2023.12.27 |
[SWEA | Java] 최빈수 구하기 (0) | 2023.12.26 |
[SWEA | Java] 파리퇴치3 (1) | 2023.12.26 |