백준/JAVA
[Baekjoon/JAVA] 2442번 - 별 찍기 - 5
베리._.
2023. 1. 13. 14:20
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가 된다.