https://www.acmicpc.net/problem/3054
์ฝ๋
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String str = scan.next();
String[] sArr = new String[5];
/* ์ฒซ๋ฒ์งธ์ ๋ค์ฏ๋ฒ์งธ ๊ธฐํธ */
sArr[0] = "..#..";
sArr[4] = "..#..";
for(int i=1; i<str.length(); i++) {
if(i%3 == 2) { // 3์ ๋ฐฐ์ ์ฌ๋ ํ๋ ์('*') ๋ค์ด๊ฐ๋ ๊ณณ
sArr[0] += ".*..";
sArr[4] += ".*..";
}
else { // ํผํฐํฌ ํ๋ ์('#') ๋ค์ด๊ฐ๋ ๊ณณ
sArr[0] += ".#..";
sArr[4] += ".#..";
}
}
/* ๋๋ฒ์งธ์ ๋ค๋ฒ์งธ ๊ธฐํธ */
sArr[1] = ".#.#.";
sArr[3] = ".#.#.";
for(int i=1; i<str.length(); i++) {
if(i%3 == 2) { // 3์ ๋ฐฐ์ ์ฌ๋ ํ๋ ์('*') ๋ค์ด๊ฐ๋ ๊ณณ
sArr[1] += "*.*.";
sArr[3] += "*.*.";
}
else {
sArr[1] += "#.#.";
sArr[3] += "#.#.";
}
}
/* ์ธ๋ฒ์งธ(์ค๊ฐ) ๊ธฐํธ */
sArr[2] = "#." + str.charAt(0) + ".#";
for(int i=1; i<str.length(); i++) {
if(i%3 == 1) { // 3์ ๋ฐฐ์ ์์ ์ค๋ ๋ฌธ์
sArr[2] += "." + str.charAt(i);
/*
* ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ 3, 5์ผ๋๋ฅผ ์๊ฐํด๋ณด๋ฉด
* DOG -> ์์ ์ ๊ฐ์ด O์์ ๋๋ ๋ ".*" ๊ฐ ๋ถ์ด์ผํจ.
* DOGDO -> ๋ง์ง๋ง์ ๋๋ ๋ 3์ ๋ฐฐ์์์น๊ฐ ์๋๋ฏ๋ก ".#" ๋ก ๋๋์ผํจ.
*/
if(i == str.length()-1)
sArr[2] += ".#";
else
sArr[2] += ".*";
}
else if(i%3 == 2) { // ๊ฐ์ฅ ๋ง์ง๋ง ๋ฌธ์(3์ ๋ฐฐ์ ์์น)
sArr[2] += "." + str.charAt(i) + ".*";
}
else { // ๊ฐ์ฅ ์ฒซ๋ฒ์งธ ๋ฌธ์
sArr[2] += "." + str.charAt(i) + ".#";
}
}
for(int i=0; i<sArr.length; i++) {
System.out.println(sArr[i]);
}
scan.close();
}
}
ํ์ด
๋ฌธ์ ์์ ์ถ๋ ฅํ๋ ๊ท์น์ ์ฐพ๊ณ ๊ทธ๋๋ก ๊ตฌํํ๋ฉด ๋๋๋ฐ ์๊ฐ๋ณด๋ค ๊ฝค ๊น๋ค๋ก์ ๋ค..
์ถ๋ ฅ์์ ์ฒซ๋ฒ์งธ = ๋ค์ฏ๋ฒ์งธ , ๋๋ฒ์งธ = ๋ค๋ฒ์งธ ์ถ๋ ฅ์ ๋๊ฐ๋ค.
1) ์ฒซ๋ฒ์งธ , ๋ค์ฏ๋ฒ์งธ ํ
์์ ๋ฌด์กฐ๊ฑด "..#.." ๋ ๋ค์ด๊ฐ๊ณ , ์ดํ์ 3์ ๋ฐฐ์ ์์น๊ฐ ์๋๋ ์๋๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค.
๋ฐ๋ผ์ "..#.." ๋ ์ ์ฅํ๊ณ , i๋ฅผ 1๋ถํฐ ์์ํ๋ค.
๊ทธ ํ 3์ ๋ฐฐ์์์น์ธ๊ณณ(i%3 == 2) ์ธ๊ณณ์๋ ".*.." ์, ๋๋จธ์ง๋ ".#.." ์ ์ถ๊ฐํ๋ฉด ๋๋ค.
2) ๋๋ฒ์งธ , ๋ค๋ฒ์งธ ํ
์์ ".#.#." ๊ฐ ๋ค์ด๊ฐ๊ณ , ์ดํ ์์ ๊ฐ์ด 3์ ๋ฐฐ์ ์์น๊ฐ ์๋์ง ์๋์ง์ ๋ฐ๋ผ ๊ฐ์ ๋ํด์ฃผ๋ฉด ๋๋ค.
3) ์ธ๋ฒ์งธ ํ
๊ฐ์ด๋ฐ๋ ์์๋ ๋ค๋ฅด๊ฒ ์๊ฐ์ ์ข ํด๋ด์ผํ๋ค.
๋จผ์ ๊ฐ์ฅ ์ฒ์์ "#.D.#" ์ ๊ฐ์ด ์ ์ฅํ๋ค.(์ฒซ๋ฒ์งธ ๋ฌธ์)
DOG์ ๊ฐ์ด 3์ ๋ฐฐ์ ์์น๊ฐ ์๋๊ฒฝ์ฐ, .O.*.G.* ์ฒ๋ผ 3์ ๋ฐฐ์ ์์ํ๋ ๋ถ๋ถ์ด *๋ก ์์ํด์ผํ๋ค.
๊ทธ ํ O์ ๊ฐ์ด 3์ ๋ฐฐ์ ์์ ์ค๋ ๋ฌธ์์ผ๊ฒฝ์ฐ(i์ ๊ฐ์ด ๋ฌธ์์ด๊ธธ์ด-1 ๊ณผ ๋ค๋ฅธ๊ฒฝ์ฐ) --> ".*" ๋ก ๋๋ด์ผ ํ๋ค.
๋ง์ฝ DOGDO ์ ๊ฐ์ด ๋ฌธ์์ด ๊ธธ์ด๊ฐ 5์ธ๊ฒฝ์ฐ, ๋ง์ง๋ง O๋ 3์ ๋ฐฐ์ ์์ด ์๋๋ฏ๋ก ".#" ๋ก ๋๋ด์ฃผ๋ฉด ๋๋ค.
๊ทธ๋ฆฌ๊ณ 3์ ๋ฐฐ์ ์์น์ธ๊ฒฝ์ฐ -> ".G.*" ๋ฅผ ์ ์ฅํ๊ณ ,
๊ฐ์ฅ ์ฒซ๋ฒ์งธ์ ๋ฌธ์๋ ".D.#" ๋ฅผ ์ ์ฅํ๋ค.
๊ตฌํ ๋ฌธ์ ๋ ๋ฌธ์ ์์ ๋์จ ์กฐ๊ฑด์ด๋ ํ๋ฆ๋๋ก ๋ฐ๋ผ์ ๊ตฌํํ๋ฉด ๋๋๋ฐ ์๊ฐํ ๋ถ๋ถ์ด ์ข ๋ง์๊ฒ ๊ฐ์์ ์ด๋ ต๋ค.
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 5533๋ฒ: ์ ๋ํฌ(๊ตฌํ) (0) | 2020.04.10 |
---|---|
[๋ฐฑ์ค] 5032๋ฒ: ํ์ฐ ์๋ฃ(๊ตฌํ, ์ํ) (0) | 2020.04.10 |
[๋ฐฑ์ค] 9324๋ฒ: ์ง์ง ๋ฉ์์ง(๊ตฌํ) (0) | 2020.04.09 |
[๋ฐฑ์ค] 2246๋ฒ: ์ฝ๋ ์ ์ (๊ตฌํ) (0) | 2020.04.09 |
[Codeforces] 1080A: Petya and Origami (0) | 2020.04.09 |
๋๊ธ