์ฌ๊ท๋ก ๊ทธ๋ฆผ์ ๊ท์น๋๋ก ์ฐ์ผ๋ฉด ๋๋ค.
๋ฐฐ์ด์ ์ ์ธํด์ ์
๋ ฅ ๋ฐ์ ์ ๋งํผ 2์ฐจ์ ๋ฐฐ์ด ๊ธธ์ด๋ฅผ ์ด๊ธฐํ ํด์ค๋ค.
์
๋ ฅ๊ฐ์ด 1 ๋์ด๋ ๋๋ง๋ค ํ๋ณ์ ๊ธธ์ด๊ฐ 1+(n-1)*4์ฉ ๋์ด๋๋ค.(์ ์ฌ๊ฐํ)
์ด๊ฑธ ํ์ฉํด์ ์ ์ผ ๋ฐ๊นฅ๋ถ๋ถ(0, 0)์์น ๋ถํฐ ์ ๋ฃ์ด์ฃผ๊ณ
์์์์น๋ฅผ (2++,2++) ํด์ฃผ๋ฉด ์์ชฝ์์ ๋ค์ ๊ณ์ ์ฌ๊ท๋ฅผ ๋ถ๋ฅธ๋ค.
๊ทธ๋ฆฌ๊ณ N์ด๋๋ฉด ๊ทธ๋๋น์ ์์์์น์ ํ๋ ๋ฃ์ด์ฃผ๋ฉด ๋์ด๋ค.
๊ท์น๋ง ์๋ฉด ์ฝ๊ฒ ํ ์ ์๋ ๋ฌธ์ ๊ฐ๋ค.
package Reculsive;
import java.util.Scanner;
public class Bj10994_star19 {
private static String [][] star;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//1, 5, 9, 13,...
//1+(N-1)*4;
int N = sc.nextInt();
int format = 1+(N-1)*4;
star = new String[format][format];//2 [5][10];
for(int i = 0 ; i < star.length; i++) {
for(int j = 0; j < star[i].length ; j ++) {
star[i][j] = " ";
}
}
int startI = 0, startJ = 0;
star(N, startI, startJ);
for(int i = 0 ; i < star.length; i++) {
for(int j = 0; j < star[i].length ; j ++) {
System.out.print(star[i][j]);
}
System.out.println();
}
//5 -> 10
}
public static void star(int N, int startI, int startJ) {
int format = 1+(N-1)*4;
if(N==1) {
star[startI][startJ] = "*";
return;
}else {
for(int i = startI ; i<format+startI; i++) {//0์ผ๋ ~ํ๋ฌ๊ฐ๊ณ 5
for(int j = startJ; j<format +startJ; j++) {
if(i==startI||i==(format)-1+startI) star[i][j] = "*";
else {
if(j==startJ||j==format-1+startJ) star[i][j] = "*";
}
}
}
star(N-1, startI+2, startJ+2);
}
}
}