728x90
반응형
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void printStar(int x, int y, int num, String[][] arr) {
// int avg = Math.round(num/2+1);
// 핫 이렇게 avg 변수 만들어서 해보았지만 실패
// 이런식으로 재귀는 먼저 찍어보는 과정이 필요하다.
// System.out.println("x = " + x);
// System.out.println("y = " + y);
// System.out.println("num = " + num);
if(num==1) {
arr[x][y] ="*";
//빠져나오는 것이 있어야한다. // 처음에 return 안해줘가지고 또 오류났음.
return;
}
int div=num/3;
for(int i =0; i<3; i++) {
for(int j=0; j<3; j++){
if(i==1 && j==1)
arr[i][j]=" ";
else {
printStar(x+(i*div), y+(j*div), div, arr);
}
}
}
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
// 별 찍기 문제
// 좀 많이 어렵네... 우선 x 좌표 y 좌표로 두는 것부터 생각
int N = Integer.parseInt(br.readLine());
String[][] arr = new String[N][N];
printStar(0,0,N, arr);
for(String[] str:arr) {
for(String detail:str) {
if(detail!=null)
sb.append(detail);
else {
// System.out.println("null 체크");
sb.append(" ");
}
}
sb.append('\n');
}
System.out.println(sb);
}
}
728x90
반응형
'이유's STUDY > 알고리즘 문제풀이' 카테고리의 다른 글
[ 백준 ] 1560번 - N과 m (2) --- java 이용 (0) | 2021.08.06 |
---|---|
[ 백준 ] 11729 - 하노이 탑 이동 순서 (0) | 2021.08.03 |
[ 백준 ] 10872- 팩토리얼 (0) | 2021.07.29 |
[ 백준 ] - 10814번 나이순 정렬 / Java 이용 (0) | 2021.07.27 |
[ 백준 ] 1181 - 단어 정렬 / Java 이용 (0) | 2021.07.27 |