반응형
간단한 문제라 문제를 제대로 읽지 않아서 출력실수가 계속 떴었습니다.
import java.io.*;
import java.util.*;
public class Main {
static char[][] field;
static int n;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
n = Integer.parseInt(br.readLine());
field = new char[(int)Math.pow(2,n)][(int)Math.pow(2,n)];
for (int i=0; i<(int)Math.pow(2,n); i++)
Arrays.fill(field[i], ' ');
recur(0, 0, 0);
StringBuilder sb = new StringBuilder();
for (int i=0; i<(int)Math.pow(2,n); i++) {
for (int j=0; j<(int)Math.pow(2,n)-i; j++) sb.append(field[i][j]);
if (i!=(int)Math.pow(2,n)-1)
sb.append("\n");
}
System.out.print(sb);
}
static void recur(int depth, int x, int y){
if (depth==n){
field[y][x] = '*';
return;
}
int d = (int)Math.pow(2, depth);
recur(depth+1, x, y);
recur(depth+1, x+d, y);
recur(depth+1, x, y+d);
}
}
반응형
'Algorithm' 카테고리의 다른 글
백준 11652번 카드 [ Java ] (0) | 2021.01.12 |
---|---|
백준 17478번 재귀함수가 뭔가요? [ Java ] (0) | 2021.01.11 |
백준 1074번 Z [ Java ] (0) | 2021.01.07 |
백준 1600번 말이 되고픈 원숭이 [ Java ] (0) | 2021.01.06 |
백준 2206번 벽 부수고 이동하기 [ Java ] (0) | 2021.01.06 |