10994번: 별 찍기 - 19 (acmicpc.net)
10994번: 별 찍기 - 19
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
www.acmicpc.net
package Recursive;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Baekjoon_10994_별찍기19 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
char[][] star = printStar(n);
int size = (n - 1)*4 +1;
for(int i = 0; i < size; i++) {
for(int j = 0; j < size; j++) {
System.out.print(star[i][j]);
}
System.out.println();
}
}
private static char[][] printStar(int num) {
int size = (num - 1)*4 +1;
char[][] star = new char[size][size];
for(int i = 0; i < size; i++) {
Arrays.fill(star[i], ' ');
}
if(num == 1) {
star[0][0] = '*';
return star;
}
char[][] pre_star = printStar(num-1);
for(int i = 0; i < size; i++) {
for(int j = 0; j < size; j++) {
if(i == 0 || i == size -1 || j == 0 || j == size -1) {
star[i][j] = '*';
}
else if(2 <= i && i < size - 2 && 2 <= j && j < size -2) {
star[i][j] = pre_star[i-2][j-2];
}
}
}
return star;
}
}
'알고리즘 > BAEKJOON' 카테고리의 다른 글
| 13305 주유소 (0) | 2021.08.23 |
|---|---|
| 1992 쿼드트리 (0) | 2021.08.09 |
| 5568 카드 놓기 (0) | 2021.08.07 |
| 2630 색종이 만들기 (0) | 2021.08.04 |
| 11656 접미사 배열 (0) | 2021.08.04 |