Skip to content

Commit e69debf

Browse files
committed
1115
1 parent ad8022f commit e69debf

File tree

3 files changed

+85
-0
lines changed

3 files changed

+85
-0
lines changed

.idea/modules.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

BOJ/silver/BOJ16926/BOJ16926.iml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module type="JAVA_MODULE" version="4">
3+
<component name="NewModuleRootManager" inherit-compiler-output="true">
4+
<exclude-output />
5+
<content url="file://$MODULE_DIR$">
6+
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
7+
</content>
8+
<orderEntry type="inheritedJdk" />
9+
<orderEntry type="sourceFolder" forTests="false" />
10+
</component>
11+
</module>

BOJ/silver/BOJ16926/src/Main.java

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
import java.io.BufferedReader;
2+
import java.io.IOException;
3+
import java.io.InputStreamReader;
4+
import java.util.StringTokenizer;
5+
6+
public class Main {
7+
8+
public static void main(String[] args) throws IOException {
9+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
10+
StringTokenizer st = new StringTokenizer(br.readLine());
11+
int m = Integer.parseInt(st.nextToken());
12+
int n = Integer.parseInt(st.nextToken());
13+
int r = Integer.parseInt(st.nextToken());
14+
int[][] table = new int[m][n];
15+
for (int i = 0; i < m; i++) {
16+
st = new StringTokenizer(br.readLine());
17+
int j = 0;
18+
while (st.hasMoreTokens()) {
19+
table[i][j] = Integer.parseInt(st.nextToken());
20+
j++;
21+
}
22+
}
23+
int rotation_cnt = Math.min(m, n) / 2;
24+
25+
for (int i = 0; i < r; i++) {
26+
27+
rotaion(m,n,rotation_cnt,table);
28+
}
29+
StringBuilder sb =new StringBuilder();
30+
31+
for (int i = 0; i < table.length; i++) {
32+
for (int j = 0; j < table[i].length; j++) {
33+
sb.append(table[i][j]).append(" ");
34+
}
35+
if(i<table.length-1){
36+
sb.append('\n');
37+
}
38+
39+
}
40+
System.out.println(sb);
41+
42+
43+
}
44+
private static void rotaion(int m, int n, int rotation_cnt, int[][] table){
45+
for (int i = 0; i < rotation_cnt; i++) {
46+
int start_col=i;
47+
int start_row=i;
48+
int end_col=m-1-i;
49+
int end_row=n-1-i;
50+
51+
int start = table[start_col][start_row];
52+
//위쪽
53+
for (int j = i; j <end_row ; j++) {
54+
table[start_col][j]=table[start_col][j+1];
55+
56+
}
57+
//오른쪽
58+
for (int j = i; j <end_col ; j++) {
59+
table[j][end_row]=table[j+1][end_row];
60+
}
61+
//아랫쪽
62+
for (int j = end_row; j >start_row ; j--) {
63+
table[end_col][j]=table[end_col][j-1];
64+
}
65+
//왼쪽
66+
for (int j = end_col; j >start_col ; j--) {
67+
table[j][start_row]=table[j-1][start_row];
68+
}
69+
table[start_col+1][start_row]=start;
70+
71+
}
72+
}
73+
}

0 commit comments

Comments
 (0)