- Today
- Total
Notice
Recent Posts
Codemental
[baekjoon][Java] 2447번 - 별 찍기 - 10 본문
반응형
문제
제출답안 (2022.07.04)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
String[] firstStar = {"***",
"* *",
"***"};
if(num == 3) {
printArray(firstStar);
}else {
String[] result = drawStringStar(firstStar, num);
printArray(result);
}
}
public static String[] drawStringStar(String[] beforeArray, int num) {
String[] result = new String[beforeArray.length*3];
int childRow = 0;
StringBuilder sb = null;
for(int i = 0 ; i < result.length; i++) {
String str = beforeArray[childRow];
sb = new StringBuilder("");
sb.append(str+str+str);
result[i] = sb.toString();
childRow++;
if(childRow == beforeArray.length) {
childRow = 0;
}
}
for(int i = 0 ; i < result.length; i++) {
if(result.length/3 <= i && i < result.length * 2 /3) {
sb = new StringBuilder(result[i]);
for(int j = 0 ; j < result.length ; j++) {
if(result.length/3 <= j && j < result.length * 2 /3) {
sb.setCharAt(j, ' ');
}
}
result[i] = sb.toString();
}
}
if(result.length == num) {
return result;
}else {
return drawStringStar(result, num);
}
}
public static void printArray(String[] array) {
for(int i = 0 ; i < array.length; i++) {
System.out.println(array[i]);
}
}
}
채점결과 (2022.07.04)
'Java > 코딩테스트(baekjoon)' 카테고리의 다른 글
[baekjoon][Java] 10172번 - 개 (0) | 2022.07.07 |
---|---|
[baekjoon][Java] 11720번 - 숫자의 합 (0) | 2022.07.04 |
[baekjoon][Java] 10809번 - 알파벳 찾기 (0) | 2022.07.04 |
[baekjoon][Java] 8958번 - OX퀴즈 (0) | 2022.07.04 |
[baekjoon][Java] 1152번 - 단어의 개수 (0) | 2022.07.04 |