๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/3054)
< ํผํฐํฌ ํ๋ ์ >
๋ฌธ์ ํ์ด
๋ฐฐ์ด์ ํ์ฉํ์ฌ ๋ฌธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ค์ด์๋ชฌ๋ ํํ๋ก ์์ฑํ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class _3054_ { // ํผํฐํฌ ํ๋ ์
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String str = bf.readLine();
char arr[][] = new char[5][5 * str.length() - (str.length() - 1)];
int dx[] = { -2, -1, -1, 0, 0, 1, 1, 2 };
int dy[] = { 0, -1, 1, -2, 2, -1, 1, 0 };
for (int i = 0; i < str.length(); i++) {
arr[2][2 + (4 * i)] = str.charAt(i);
for (int j = 0; j < 8; j++) {
if ((i + 1) % 3 == 0) {
arr[2 + dx[j]][2 + (4 * i) + dy[j]] = '*';
} else {
if (arr[2 + dx[j]][2 + (4 * i) + dy[j]] == '*') {
continue;
}
arr[2 + dx[j]][2 + (4 * i) + dy[j]] = '#';
}
}
}
for (int i = 0; i < 5; i++) {
for (int j = 0; j < arr[0].length; j++) {
if (arr[i][j] != '*' && arr[i][j] != '#' && !Character.isAlphabetic(arr[i][j])) {
bw.write(".");
} else {
bw.write(arr[i][j]);
}
}
bw.write("\n");
}
bw.flush();
}
}
๋ณ์)
str : ๋จ์ด
arr : ํ๋ ์ ์ ์ฉํ๋ ๋ฐฐ์ด
dx, dy : ๋ค์ด์๋ชฌ๋ ์์น
๋จ์ด ๊ธธ์ด๋งํผ ํ์ํ๋ฉด์ ๋ค์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
1) ๋ฐฐ์ด ์ค์์ ์ํ๋ฒณ์ ์ ์ฅํ๋ค.
2) ๋ค์ด์๋ชฌ๋ ์์น์ ๋ง๊ฒ ํ๋ ์์ ์ ์ฉํ๋ค. 3์ ๋ฐฐ์ ์์น์ผ ๋๋ *์ ์ ์ฅํ๋ค. 3์ ๋ฐฐ์๊ฐ ์๋์ง๋ง ์ด๋ฏธ *๊ฐ ์ ์ฅ๋์ด ์๋ค๋ฉด ๋์ด๊ฐ๋ค. *๊ฐ ์๋ค๋ฉด #๋ก ์ ์ฅํ๋ค.
์ต์ข ๋ฐฐ์ด์ ์ถ๋ ฅํ๋ค. ๋ฐฐ์ด์ด ๋น์ด์๋ ๊ฒฝ์ฐ. ์ ์ถ๋ ฅํ๊ณ ์๋ ๊ฒฝ์ฐ์๋ ๋ฐฐ์ด์ ๊ฐ์ ์ถ๋ ฅํ๋ค.
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 1270_์ ์ - ๋ ๋ฐ๋จน๊ธฐ (0) | 2024.06.03 |
---|---|
[Baekjoon] 21920_์๋ก์ ํ๊ท (0) | 2024.05.30 |
[Baekjoon] 9324_์ง์ง ๋ฉ์์ง (0) | 2024.05.28 |
[Baekjoon] 11504_๋๋ ค ๋๋ ค ๋๋ฆผํ! (0) | 2024.05.27 |
[Baekjoon] 2891_์นด์ฝ๊ณผ ๊ฐํ (0) | 2024.05.24 |