🎈문제
https://www.acmicpc.net/problem/2444
💬설명
- 2가지 방법이 있다.
- 1) 바로 출력
- 2) StringBuffer로 입력 후 출력
- 공식을 보고 복잡하게 생각하지 말고 별을 보고 그 모양대로 출력하기 위해 노력하자.
- 2n-1 = n + n-1 이기 때문에 for문을 n과 n-1로 나누어 작성하자.
- n까지는 별이 증가함으로 ++, n-1은 별이 감소함으로 --로 작성하도록 하자.
⌨️ CODE
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num;
num = sc.nextInt();
for(int i = 1 ; i < 2*num ; i += 2) {
for(int j = 2*num-1 ; j > i ; j -= 2) {
System.out.print(" ");
}
for(int j = 0 ; j < i ; j++ ) {
System.out.print("*");
}
System.out.println();
}
for(int i = 2 ; i < 2*num ; i += 2) {
for(int j = 0 ; j < i ; j +=2 ) {
System.out.print(" ");
}
for(int j = 2*num-1 ; j > i ; j--) {
System.out.print("*");
}
System.out.println();
}
}
}
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n-i; j++) {
sb.append(" ");
}
for (int j = 1; j <= 2*i-1; j++) {
sb.append("*");
}
sb.append("\n");
}
for (int i = n-1; i >= 1; i--) {
for (int j = 1; j <= n-i; j++) {
sb.append(" ");
}
for (int j = 1; j <= 2*i-1; j++) {
sb.append("*");
}
sb.append("\n");
}
System.out.print(sb);
}
}
'CS > BaekJoon' 카테고리의 다른 글
[BaekJoon] 백준 1157번 단어 공부 - Java (0) | 2024.02.23 |
---|---|
[BaekJoon] 백준 10988번 팰린드롬인지 확인하기 - Java (0) | 2024.02.23 |
[BaekJoon] 백준 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 - Java (0) | 2024.01.18 |
[BaekJoon] 백준 25083번 새싹 - Java (0) | 2024.01.18 |
[BaekJoon] 백준 11718번 그대로 출력하기 - Java (0) | 2024.01.18 |