본문 바로가기

백준/C++

[Baekjoon/C++] 2445번 - 별 찍기 - 8

[백준] Baekjoon Online Judge

문제로 이동

 

문제

예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.

 

입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

 

출력

첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.

 


예제 입력 예제 출력
5 *        *
**      **
***    ***
****  ****
**********
****  ****
***    ***
**      **
*        *

풀이

#include <iostream>
using namespace std;

// 별과 공백을 규칙에 맞게 출력한다.
void printStar(int i, int N) {
	for (int j = 0; j < N; j++) {
		if (j <= i || j >= N - i - 1)
			printf("*");
		else
			printf(" ");
	}
	printf("\n");
}

int main() {
	int N;
	cin >> N;

	for (int i = 0; i < N; i++)
		printStar(i, N * 2);

	for (int i = N - 2; i >= 0; i--) 
		printStar(i, N * 2);

	return 0;
}