반응형
<코드>
import java.util.*;
public class Main {
static StringBuffer sb = new StringBuffer();
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
f(i,j);
}
sb.append("\n");
}
System.out.println(sb.toString());
}
public static void f(int x, int y) {
if(x < 3 && y < 3) {
if(x % 3 == 1 && y % 3 == 1) {
sb.append(" ");
}
else {
sb.append("*");
}
} else {
if(x % 3 == 1 && y % 3 == 1) {
sb.append(" ");
}
else {
f(x/3,y/3);
}
}
}
}
두 좌표를 계속 3으로 나눠주면서(/) 두 좌표가 모두 3으로 나눴을 때(%) 나머지가 1이라면 공백을 출력하고 그게 아니라면 "*"를 출력하도록 하였습니다.
System.out.print로 출력 시 시간 초과가 발생해서 StringBuffer를 통해 출력을 하였습니다.
https://www.acmicpc.net/problem/2447
반응형
'🧩PS > 🥈Nomal' 카테고리의 다른 글
[JAVA] 백준 2751번 - 수 정렬하기 2 (Tim sort) (0) | 2021.10.07 |
---|---|
[JAVA] 백준 11729번 - 하노이 탑 이동 순서 (0) | 2021.10.05 |
[JAVA] 백준 1011번 - Fly me to the Alpha Centauri (0) | 2021.10.04 |
[JAVA] 백준 9012번 - 괄호 (0) | 2021.09.17 |
[JAVA] 백준 15552번 - 빠른 A+B (0) | 2021.09.14 |