백준/Class1

[백준] Class1-별 찍기-2 C++ 2439번

taene_ 2023. 8. 23. 10:48

문제

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

입력

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

출력

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

예제 입력 1 복사

5

예제 출력 1 복사

    *
   **
  ***
 ****
*****

 

소스코드:

#include <iostream>
#include <string>

using namespace std;

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

	int n;
	cin >> n;

	for (int i = 1; i <= n; i++)
	{
		for (int k = n - i; k >= 1; k--)	// 공백찍기
		{
			cout << " ";
		}
		for (int j = 1; j <= i; j++)	// 별찍기
		{
			cout << "*";
		}
		cout << "\n"; 
	}

	return 0;
}

 

접근방법: for문안에 변수를 줄이면서 공백을 찍는 for문과 변수를 늘리면서 별을 찍는 for문을 작성한다.

주의사항: 별을 찍고 for문 밖에서 줄바꿈을 해줘야한다.