Baekjoon Online Judge
문제
첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제
별은 가운데를 기준으로 대칭이어야 한다.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
예제 입력 | 예제 출력 |
5 | * *** ***** ******* ********* |
풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int N = in.nextInt();
// 첫째 줄부터 N번째 줄까지 차례대로 별을 출력
for (int i = 1; i <= N; i++) {
for (int j = 0; j < N - i; j++) // 공백 출력
System.out.printf(" ");
for (int j = 0; j < 2 * i - 1; j++) // 별 출력
System.out.printf("*");
System.out.println();
}
}
}
별 앞에 오는 공백의 수는 (가장 아랫층의 별의 수 / 2 - 몇 번째 줄(i))이다. 여기서 가장 아랫층의 별의 수 / 2는 입력 받는 N과 같으므로 공백의 개수는 N - i이다.
그리고 별의 개수는 (몇 번째 줄(i) * 2 - 1)이므로 2 * i - 1가 된다.
'백준 > JAVA' 카테고리의 다른 글
[Baekjoon/JAVA] 2444번 - 별 찍기 - 7 (0) | 2023.01.15 |
---|---|
[Baekjoon/JAVA] 2443번 - 별 찍기 - 6 (1) | 2023.01.14 |
[Baekjoon/JAVA] 2441번 - 별 찍기 - 4 (0) | 2023.01.12 |
[Baekjoon/JAVA] 2010번 - 플러그 (0) | 2023.01.11 |
[Baekjoon/JAVA] 1837번 - 암호제작 (0) | 2023.01.10 |