문제
N이 주어질 때, 별과 공백을 번갈아 출력하여 삼각형 패턴을 만들어라. i번째 줄에는 별을 i개 출력한다.
입력
정수 N이 주어진다 (1 이상 100 이하).
출력
N줄에 걸쳐 별 삼각형을 출력한다.
예제
| 입력 | 출력 |
|---|---|
3 | * * * * * * |
풀이
각 줄마다 앞쪽 공백과 "별+공백" 패턴을 출력한다.
- i번째 줄에 앞쪽 공백
N-i개를 출력한다 "* "를 i번 반복 출력한다
핵심 아이디어: 별 사이에 공백을 넣어 정삼각형 모양을 만드는 패턴이다.
코드
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
for (int i = 1; i <= n; i++)
{
for (int j = n - i; j > 0; j--)
{
cout << " ";
}
for (int k = 1; k <= i; k++)
{
cout << "*" << " ";
}
cout << endl;
}
return 0;
}복잡도
- 시간: O(N^2)
- 공간: O(1)