๐ฌ ๋ฌธ์ ์ค๋ช
์ฌ๊ท์ ์ธ ํจํด์ผ๋ก ๋ณ์ ์ฐ์ด ๋ณด์. N์ด 3์ ๊ฑฐ๋ญ์ ๊ณฑ(3, 9, 27, ...)์ด๋ผ๊ณ ํ ๋, ํฌ๊ธฐ N์ ํจํด์ N×N ์ ์ฌ๊ฐํ ๋ชจ์์ด๋ค.
ํฌ๊ธฐ 3์ ํจํด์ ๊ฐ์ด๋ฐ์ ๊ณต๋ฐฑ์ด ์๊ณ , ๊ฐ์ด๋ฐ๋ฅผ ์ ์ธํ ๋ชจ๋ ์นธ์ ๋ณ์ด ํ๋์ฉ ์๋ ํจํด์ด๋ค.
***
* *
***
N์ด 3๋ณด๋ค ํด ๊ฒฝ์ฐ, ํฌ๊ธฐ N์ ํจํด์ ๊ณต๋ฐฑ์ผ๋ก ์ฑ์์ง ๊ฐ์ด๋ฐ์ (N/3)×(N/3) ์ ์ฌ๊ฐํ์ ํฌ๊ธฐ N/3์ ํจํด์ผ๋ก ๋๋ฌ์ผ ํํ์ด๋ค. ์๋ฅผ ๋ค์ด ํฌ๊ธฐ 27์ ํจํด์ ์์ ์ถ๋ ฅ 1๊ณผ ๊ฐ๋ค.
โจ ์
๋ ฅ
์ฒซ์งธ ์ค์ N์ด ์ฃผ์ด์ง๋ค. N์ 3์ ๊ฑฐ๋ญ์ ๊ณฑ์ด๋ค. ์ฆ ์ด๋ค ์ ์ k์ ๋ํด N=3k์ด๋ฉฐ, ์ด๋ 1 ≤ k < 8์ด๋ค.
๐ฅ ์ถ๋ ฅ
์ฒซ์งธ ์ค๋ถํฐ N๋ฒ์งธ ์ค๊น์ง ๋ณ์ ์ถ๋ ฅํ๋ค.
์์ ์ /์ถ๋ ฅ 1
๐ ๋ฌธ์ ํ์ด
1. ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ์ฌ๊ท์ ์ผ๋ก 3์ผ๋ก ๋๋์ด 9๋ฑ๋ถ
2. 9๋ฑ๋ถ ํ ๊ฒ ์ค ๊ฐ์ด๋ฐ ์๋ ๋ฐฐ์ด์ ๊ณต๋ฐฑ์ฒ๋ฆฌ
→ ๋ฐ๋ณต
โ ์์ฑ ์ฝ๋
package backjun;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ๋ณ์ฐ๊ธฐ {
// ๊ณต๋ฐฑ์ฒ๋ฆฌ๋ฅผ ์ํด 2์ฐจ์ boolean ๋ฐฐ์ด ์์ฑ
static boolean[][] arr;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
// ๋ฐฐ์ด ๊ธธ์ด N ์
๋ ฅ๋ฐ๊ณ
int N = Integer.parseInt(br.readLine());
arr = new boolean[N][N];
// 3๋ฑ๋ถ ์์
div(0, 0, N / 3);
// ๋ฐฐ์ด์ด true๋ฉด ๊ณต๋ฐฑ์ด๋ฏ๋ก " ", false๋ฉด ๋ณ์ ์ฐ์ด์ค
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (arr[i][j]) sb.append(" ");
else sb.append("*");
}
sb.append("\n");
}
System.out.println(sb);
}
public static void div(int r, int c, int l) {
// ๋ ์ด์ ๋๋ ์ ์์ผ๋ฉด ์ข
๋ฃ
if (l < 1) {
return;
}
// 9๋ฑ๋ถํ ๋ฐฐ์ด์ ์์์ ๋ค์ ์ํ
for (int i = r; i <= r + 2*l; i+= l) {
for (int j = c; j <= c + 2*l; j += l) {
// ์ ๊ฐ์ด๋ฐ ๋ฐฐ์ด์ด๋ฉด, ๊ณต๋ฐฑ์ฒ๋ฆฌ
if (i == r + l && j == c + l) {
black(i, j, l);
} else { // ๋๋จธ์ง๋ ๊ณ์ 9๋ฑ๋ถํ๊ธฐ
div (i, j, l / 3);
}
}
}
}
public static void blank(int r, int c, int l) {
// ๊ฐ์ด๋ฐ ๋ฐฐ์ด์ ๋ชจ๋ ๋๋ฉด์ ๊ณต๋ฐฑ์ฒ๋ฆฌ ํด์ฃผ๊ธฐ
for (int i = r; i < r + l; i++) {
for (int j = c; j < c + l; j++) {
arr[i][j] = true;
}
}
}
}
'๐ algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] Z - JavaScript ๋ฌธ์ ํ์ด (0) | 2025.02.12 |
---|---|
[๋ฐฑ์ค] ๋น๋ฌผ - JavaScript ํ์ด (0) | 2025.02.11 |
[Algorithm] ๋ณํฉ์ ๋ ฌ์ ๋ํด ์์๋ณด์ !! ๐ (0) | 2024.03.21 |
[๋ฐฑ์ค] 15649 N๊ณผ M (2) Java ๋ฌธ์ ํ์ด (0) | 2024.02.10 |
[๋ฐฑ์ค] 2527 ์ง์ฌ๊ฐํ Java ๋ฌธ์ ํ์ด (1) | 2024.02.08 |