~๋ชฉ์ฐจ~
๋ฌธ์
https://www.acmicpc.net/problem/16926
๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ
- ๊ตฌํ ๋ฌธ์
- ์ฌ๊ฐํ์ ํ ๊ฒน(?)์ฉ ๋ฐฉ๋ฌธํ๋ฉฐ ์ ๋ถ ๋๋ฆฐ๋ค. => ์ด ์ํ์ R๋ฒ
- ๊ฐ ์ฌ๊ฐํ์ ๋๋ฆด ๋ ์ผ์ชฝ ์์ ๊ฐ์ ๋ฐ๋ก ์ ์ฅ ํ๊ณ ๊ฐ ๋ฉด์ ๋ํด for๋ฌธ์ ๋๋ฆฐ๋ค.
- ์์ค, ์ค๋ฅธ์ชฝ์ค, ์๋์ค, ์ผ์ชฝ์ค์ ๋๋ฆผ์ผ๋ก์จ ์ผ์ชฝ ์ ๊ฐ์ด ๋ฎ์ด์ง๋๋ฐ ๋ฐ๋ก ์ ์ฅํด๋ ๊ฐ์ผ๋ก ๋ฎ์ด ์์ด๋ค.
์์ฑ ์ฝ๋
import java.util.*;
import java.io.*;
// mem : 31924KB
// time : 604ms
public class A019_BJ16926_๋ฐฐ์ด๋๋ฆฌ๊ธฐ1 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
int R = Integer.parseInt(st.nextToken());
// ๋ฐฐ์ด ์
๋ ฅ ๋ฐ๊ธฐ
int[][] map = new int[N][M];
for(int i=0; i<N; i++) {
st = new StringTokenizer(br.readLine());
for(int j=0; j<M; j++) {
map[i][j] = Integer.parseInt(st.nextToken());
}
}
// R๋ฒ ์ํ
for(int i=0; i<R; i++) {
// ๊ฐ์ฅ ํฐ ์ฌ๊ฐํ๋ถํฐ ์์ผ๋ก ํ ๋ฒ์ฉ ๋๋ฆฌ๊ธฐ
for(int j=0; j< Math.min(N, M)/2; j++) {
int temp = map[j][j]; //๊ฐ ์ฌ๊ฐํ์ ์ผ์ชฝ ์ ๊ฐ ์ ์ฅ
// left
for(int k=j; k<M-j-1; k++) {
map[j][k] = map[j][k+1];
}
// up
for(int k=j; k<N-1-j; k++) {
map[k][M-j-1] = map[k+1][M-j-1];
}
// right
for(int k=M-j-1; k>j; k--) {
map[N-1-j][k] = map[N-1-j][k-1];
}
// down
for(int k=N-j-1; k>j; k--) {
map[k][j] = map[k-1][j];
}
map[j+1][j] = temp;
}
}
for(int i=0; i<N; i++) {
for(int j=0; j<M; j++) {
sb.append(map[i][j]).append(" ");
}
sb.append("\n");
}
System.out.println(sb);
}
}
๋์์ด ๋์ จ๋ค๋ฉด ์ข์์ ๋๋ฌ์ฃผ์ธ์๐
'๐๋ฌธ์ ํ์ด > ๐งฉBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] ๋ฐฑ์ค 2493 ํ | Stack (0) | 2023.08.08 |
---|---|
[JAVA] ๋ฐฑ์ค 12891 DNA ๋น๋ฐ๋ฒํธ | ์ฌ๋ผ์ด๋ฉ ์๋์ฐ (0) | 2023.08.04 |
[JAVA] ๋ฐฑ์ค 2961 ๋์์ด๊ฐ ๋ง๋ ๋ง์๋ ์์ (0) | 2023.08.04 |
[Python] ๋ฐฑ์ค 1654 ๋์ ์๋ฅด๊ธฐ | ์ด์ง ํ์ | ์๊ฐ ์ด๊ณผ (0) | 2023.07.08 |
[Python] ๋ฐฑ์ค 9655 ๋ ๊ฒ์ | DP (0) | 2023.06.18 |