05-18 01:37
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Mac
- BFS
- Class
- Operator
- X윈도우
- 리눅스
- Binary Search
- Polymolphism
- External Scheme
- Entity Set
- 리눅스 마스터 1급
- Entity
- preprocessing
- systemd
- literal
- spring
- selenium
- 셀레니움
- Unity
- OOP
- Reference Type
- Java
- python
- Inheritance
- Physical Scheme
- descriptive statistics
- 백준
- 자바
- X.org
- dbms
Archives
- Today
- Total
Byeol Lo
N2447 - 별 찍기 - 10 본문
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.Scanner;
public class Main {
private static final BufferedWriter BW = new BufferedWriter(new OutputStreamWriter(System.out));
private static final Scanner SC = new Scanner(System.in);
private static final StringBuffer SB = new StringBuffer("");
public static void main(String[] args) throws IOException {
int n = SC.nextInt();
for(String s : devide(n)) SB.append(s).append("\n");
BW.write(SB.toString());
BW.close();
}
private static String[] devide(int n) {
if(n==1) SB.append("*");
if(n==3) return new String[]{"***", "* *", "***"};
else return conquer(devide(n/3));
}
private static String[] conquer(String[] outer) {
int tmp = 0;
String[] inner = new String[outer.length];
String[] result = new String[outer.length*3];
for(int i=0; i<inner.length; i++) inner[i] = " ".repeat(outer.length);
for(int i=0; i<outer.length; i++) result[tmp++] = outer[i].repeat(3);
for(int i=0; i<outer.length; i++) result[tmp++] = outer[i] + inner[i] + outer[i];
for(int i=0; i<outer.length; i++) result[tmp++] = outer[i].repeat(3);
return result;
}
}
'Algorithm > DevideConquer & Recursion' 카테고리의 다른 글
N11729 - 하노이 탑 이동 순서 (0) | 2023.12.11 |
---|---|
N4779 - 칸토어 집합 (0) | 2023.12.11 |
Comments