728x90
반응형
https://www.acmicpc.net/problem/25755
배열을 뒤집는 방향에 따라 바뀌는 부분만 이해하시면 되는 문제입니다.
"3"은 아래나 위로 뒤집어도 3이지만, 해당 문제에서는 "?"로 표현하시면 됩니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
char c = st.nextToken().charAt(0);
int n = Integer.parseInt(st.nextToken());
int[][] arr = new int[n][n];
for(int i = 0; i < n; i++) {
st = new StringTokenizer(br.readLine());
for(int j = 0; j < n; j++) {
arr[i][j] = Integer.parseInt(st.nextToken());
}
}
char[][] answer = new char[n][n];
if(c == 'U' || c == 'D') {
for(int i = n - 1; i >= 0; i--) {
for(int j = 0; j < n; j++) {
answer[n - 1 - i][j] = input(arr[i][j]);
}
}
}
else {
for(int i = 0; i < n; i++) {
for(int j = n - 1; j >= 0; j--) {
answer[i][n - 1 - j] = input(arr[i][j]);
}
}
}
StringBuilder sb = new StringBuilder();
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
sb.append(answer[i][j]).append(" ");
}
sb.append("\n");
}
System.out.print(sb);
}
public static char input(int n) {
if(n == 2) {
return '5';
}
else if(n == 5) {
return '2';
}
else if(n == 1 || n == 8) {
return (char)(n + '0');
}
return '?';
}
}
728x90
반응형
'백준 > 출제한 문제들' 카테고리의 다른 글
[백준] 25757번 : 임스와 함께하는 미니게임 (0) | 2022.10.25 |
---|---|
[백준] 25756번 : 방어율 무시 계산하기 (0) | 2022.10.25 |
[백준] 25497번 : 기술 연계마스터 임스 (0) | 2022.10.25 |
[백준] 25496번 : 장신구 명장 임스 (0) | 2022.10.25 |
[백준] 25495번 : 에어팟 (0) | 2022.10.25 |
댓글