https://www.acmicpc.net/problem/11586
11586๋ฒ: ์ง์ ๊ณต์ฃผ๋์ ๋ง๋ฒ ๊ฑฐ์ธ
์ฒ๋๋ผ ๋ฏผํธ์ฑ์ ์ง์ ๊ณต์ฃผ๋์ ๋งค์ฐ ์๋ฆ๋ต๋ค. ๊ณต์ฃผ๋ ์์ ๋ ์ด ์ธ์ ๊ทธ ๋๊ตฌ๋ณด๋ค ์์ ์ด ์๋ฆ๋ต๋ค๋ ๊ฒ์ ์๊ณ ์๋ค. ๊ณต์ฃผ๋์ ์์ ์ ์๋ฆ๋ค์์ด ์ธ์์ ์ ํธ์ผ๋ก ์ฌ๋ผ์ง๋ ๊ฒ์ ๋งค์ฐ ๋๋ ค์ํ๋ค. ๊ทธ๋์ ํ๋ฃจ์๋ ์์ญ ์๋ฐฑ ๋ฒ์ฉ ๊ฑฐ์ธ์ ๋ณด๋ฉฐ ์์ ์ ๋ชจ์ต์ด ์ฌ์ ํ ์๋ฆ๋ค์ด์ง ํ์ธ์ ๊ฑฐ๋ญํ๋ค. ๊ทธ๋ฌ๋ ์ด๋ ๋ , ์ธ์์ ๋ค์ํ ์ฅ๋ฉด๋ค์ ๋ด๊ณ ์ถ์๋ ๊ณต์ฃผ๋์ ๋ง๋ฒ๊ฑฐ์ธ์ ๋งค์ผ ๋๊ฐ์ ๋ชจ์ต๋ง์ ๋น์ถ๋ ์์ ์ ์ด๋ช ์ ์ข์ ํ๋ฉฐ ์์ผ๋ก์ ์ด๋ช ์ ๊ฐ์ฒํ๊ธฐ๋ก ๊ฒฐ์ฌํ๋ค. ๋ง๋ฒ๊ฑฐ์ธ
www.acmicpc.net
์ฝ๋
import java.util.Scanner;
public class Main {
static int N;
static char cArr[][];
// ํ์ฌ ๋ชจ์ต ๊ทธ๋๋ก ์ถ๋ ฅ
public static void current() {
for(int i=0; i<N; i++) {
for(int j=0; j<N; j++) {
System.out.print(cArr[i][j]);
}
System.out.println();
}
}
// ์/ํ ๋ฐ์ ์ถ๋ ฅ
public static void reverseUpDown() {
for(int i=0; i<N/2; i++) {
for(int j=0; j<N; j++) {
/*
* ์/ํ ๋ฐ์ ๊ท์น(N=8 ์ด๋ผ๊ณ ๊ฐ์ )
* i=0, j=0 --> (0,0) <-> (7,0) ๊ตํ
* i=0, j=1 --> (0,1) <-> (7,1) ๊ตํ
* i=0, j=2 --> (0,2) <-> (7,2) ๊ตํ
*
* i=1, j=0 --> (1,0) <-> (6,0) ๊ตํ
* i=1, j=1 --> (1,1) <-> (6,1) ๊ตํ
*/
char temp = cArr[i][j];
cArr[i][j] = cArr[N-i-1][j];
cArr[N-i-1][j] = temp;
}
}
for(int i=0; i<N; i++) {
for(int j=0; j<N; j++) {
System.out.print(cArr[i][j]);
}
System.out.println();
}
}
// ์ข/์ฐ ๋ฐ์ ์ถ๋ ฅ
public static void reverseLeftRight() {
for(int i=0; i<N; i++) {
for(int j=0; j<N/2; j++) {
/*
* ์ข/์ฐ ๋ฐ์ ๊ท์น(N=8 ์ด๋ผ๊ณ ๊ฐ์ )
* i=0, j=0 --> (0,0) <-> (0,7) ๊ตํ
* i=0, j=1 --> (0,1) <-> (0,6) ๊ตํ
* i=0, j=2 --> (0,2) <-> (0,5) ๊ตํ
*/
char temp = cArr[i][j];
cArr[i][j] = cArr[i][N-j-1];
cArr[i][N-j-1] = temp;
}
}
for(int i=0; i<N; i++) {
for(int j=0; j<N; j++) {
System.out.print(cArr[i][j]);
}
System.out.println();
}
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
N = scan.nextInt();
cArr = new char[N][N];
for(int i=0; i<N; i++) {
String str = scan.next();
for(int j=0; j<N; j++) {
cArr[i][j] = str.charAt(j);
}
}
int K = scan.nextInt();
if(K == 1)
current(); // ๊ทธ๋๋ก ์ถ๋ ฅ
else if(K == 2)
reverseLeftRight(); // ์ข์ฐ๋ฐ์ ์ถ๋ ฅ
else
reverseUpDown(); // ์ํ๋ฐ์ ์ถ๋ ฅ
scan.close();
}
}
ํ์ด
K=1 ์ผ๋ ๊ทธ๋๋ก ์ถ๋ ฅํ๋ ๋ฉ์๋ current()
K=2 ์ผ๋ ์ข/์ฐ ๋ฐ์ ํด์ ์ถ๋ ฅํ๋ ๋ฉ์๋ reverseLeftRight()
K=3 ์ผ๋ ์/ํ ๋ฐ์ ํด์ ์ถ๋ ฅํ๋ ๋ฉ์๋ reverseUpDown()
์ ์์ฑํ๋ค.
์/ํ, ์ข/์ฐ ๋ฐ์ ํ๋ ๊ท์น์ ์ฃผ์์ ์์ฑํ๊ณ ,
์ฃผ์ํ ์ ์ ์ข/์ฐ ๋ฐ์ ์ ๊ฒฝ์ฐ ์ด์ N/2๊น์ง๋ง ๋ฐ๋ณตํ๊ณ ,
์/ํ ๋ฐ์ ์ ๊ฒฝ์ฐ ์ด์ N/2๊น์ง๋ง ๋ฐ๋ณตํ๋ค.
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 1012๋ฒ: ์ ๊ธฐ๋ ๋ฐฐ์ถ(dfs, bfs) (0) | 2020.02.07 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค[Java] - ๊ธฐ์ง๊ตญ ์ค์น(๊ทธ๋ฆฌ๋) (0) | 2020.02.07 |
[๋ฐฑ์ค] 11724๋ฒ: ์ฐ๊ฒฐ ์์์ ๊ฐ์(dfs, bfs) (0) | 2020.02.06 |
[๋ฐฑ์ค] 2262๋ฒ: ํ ๋๋จผํธ ๋ง๋ค๊ธฐ(๊ทธ๋ฆฌ๋) (0) | 2020.02.06 |
[๋ฐฑ์ค] 5218๋ฒ: ์ํ๋ฒณ ๊ฑฐ๋ฆฌ(๋ฌธ์์ด) (0) | 2020.02.06 |
๋๊ธ