알고리즘(BOJ)/Silver
백준 - 10994 별 찍기 19
ch.0
2022. 12. 7. 00:12
package test;
import java.util.Scanner;
//백준
public class Main {
static String[][] array;
public static void star(int start, int input) {
if(start>input) return;
int max = input - start;
for (int i = start; i < max; i++) {
for (int j = start; j < max; j++) {
// 첫줄 마지막줄
if (i == start || i == max - 1) {
array[i][j] = "*";
}
if (j == start || j == max - 1 ) {
array[i][j] = "*";
}
}
}star(start+2, input);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int input = sc.nextInt();
int size = 4 * (input - 1) + 1;
array = new String[size][size];
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
array[i][j] = " ";
}
}
star(0, size);
if (input <= 100 && input >= 1) {
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
System.out.print(array[i][j]);
}
System.out.println();
}
}
}
}
시작점이 위로부터, 왼쪽으로부터 2칸씩 줄어든 상태에서 시작한다
첫줄과 마지막줄은 별로 채워주고
첫열과 마지막열도 별로 채워준다
size는 1에서 4씩 커지니까 4 * (n-1) +1 로 했다