문제 출처
https://www.acmicpc.net/problem/2447
접근 방식 및 풀이
- 분할정복.. 기본적인 문제, 배열의 위치에 대한 규칙성을 찾아 구현
- 참고 블로그
https://gaebal-goebal.tistory.com/37
소스 코드
import java.util.Arrays;
import java.util.Scanner;
public class Main {
static String[][] stars;
static int n ;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
stars = new String[n][n];
for (int i = 0; i <n ; i++) {
for (int j = 0; j <n ; j++) {
stars[i][j] = " ";
}
}
makeStarArray(0,0,n);
StringBuilder sb = new StringBuilder();
for (int i = 0; i <n ; i++) {
for (int j = 0; j <n ; j++) {
sb.append(stars[i][j]);
}
sb.append("\n");
}
System.out.println(sb.toString());
}
private static void makeStarArray(int row, int col, int num ){
if(num==1){
stars[row][col] = "*";
return;
}
int val = num/3;
for (int i = 0; i <3 ; i++) {
for (int j = 0; j <3 ; j++) {
if(i==1 && j==1){// 같은경우는 넣지 않는다.
}else{
makeStarArray(row+(val*i), col+(val*j), val);
}
}
}
}
}
결과
'Competition > Baekjoon' 카테고리의 다른 글
[백준] 1992번 자바 쿼드트리 (0) | 2020.04.01 |
---|---|
[백준] 2110번 자바 공유기 설치 (0) | 2020.03.31 |
[백준] 1780번 종이의 개수 (0) | 2020.03.31 |