[백준/BOJ] 백준 2444번 : 별 찍기 - 7

2020. 8. 2. 18:29알고리즘 문제풀이

https://www.acmicpc.net/problem/2444

 

2444번: 별 찍기 - 7

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

www.acmicpc.net

n-1 개줄에 빈칸과 별을 출력하고, 또다시 n개줄에 빈칸과 별을 출력한다. 처음 n-1개 줄을 출력할 때는 i번째 줄에 n-i-1개의 빈칸과 2*(i+1)-1개의 별을 출력하고, 그 다음 n개 줄을 출력할 때는 i 번 줄에 i개의 빈칸과 2*(n-i)-1개의 별을 출력한다.

 

코드

#include <iostream>
using namespace std;

int main()
{
	cin.tie(NULL);
	ios_base::sync_with_stdio(false);

	int n;

	cin >> n;

	//n-1개줄에 빈칸과 별을 출력한다
	for (int i = 0; i < n-1; i++)
	{
		//i번째 줄에 n-i-1개의 빈칸을 출력한다
		for (int j = 0; j < n - i - 1; j++)
		{
			cout << " ";
		}

		//i번째 줄에 2*(i+1)-1개의 별을 출력한다
		for (int j = 0; j < 2 * (i + 1) - 1; j++)
		{
			cout << "*";
		}

		cout << "\n";
	}

	//n개줄에 빈칸과 별을 출력한다
	for (int i = 0; i < n; i++)
	{
		//i번줄에 i개의 빈칸을 출력한다
		for (int j = 0; j < i; j++)
		{
			cout << " ";
		}

		//i번줄에 2*(n-i)-1개의 별을 출력한다
		for (int j = 0; j < 2 * (n - i) - 1; j++)
		{
			cout << "*";
		}

		cout << "\n";
	}

	return 0;
}