Notice
Recent Posts
Recent Comments
Link
Dev.baelanche
[백준 16505] 별 본문
반응형
별찍기 문제집은 다 풀었는데 다른 별찍기를 찾았다 ㅋㅋ
n에 따른 배열의 크기를 보면 2^n * 2^n 이다.
별은 가로, 세로 둘다 절반만큼의 크기로 왼쪽 위, 오른쪽 위, 왼쪽 아래 3군데에 똑같은 모양으로 그려져 있다.
가로, 세로 길이를 2배로 늘려가며 패턴을 3군데에 똑같이 그려주면 된다.
public class Main {
static char a[][];
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int l = (int)Math.pow(2, n);
a = new char[l][l];
for(int i=0; i<l; i++)
for(int j=0; j<l; j++)
a[i][j] = ' ';
a[0][0] = '*';
int len = 1;
while(n-->0) {
drawStar(0, 0, len);
len *= 2;
}
StringBuilder sb = new StringBuilder();
for(int i=0; i<l; i++) {
for(int j=0; j<l-i; j++)
sb.append(a[i][j]);
sb.append("\n");
}
System.out.println(sb.toString().substring(0, sb.length()-1));
}
public static void drawStar(int x, int y, int len) {
for(int i=x; i<x+len; i++)
for(int j=y; j<y+len; j++) {
a[i][j+len] = a[i][j];
a[i+len][j] = a[i][j];
}
}
}
반응형
'Data Structure & Algorithm > PS - JAVA' 카테고리의 다른 글
[백준 10162] 전자레인지 (0) | 2019.07.02 |
---|---|
[백준 13901] 로봇 (0) | 2019.07.02 |
[백준 10158] 개미 (0) | 2019.07.02 |
[백준 2589] 보물섬 (0) | 2019.07.02 |
[백준 2530] 인공지능 시계 (0) | 2019.07.02 |
Comments