문제
N줄에 걸쳐 별을 출력하되, 짝수 번째 줄은 공백 하나를 앞에 추가하여 지그재그 패턴을 만들어라.
입력
정수 N이 주어진다 (1 이상 100 이하).
출력
N줄에 걸쳐 지그재그 별 패턴을 출력한다.
예제
| 입력 | 출력 |
|---|---|
3 | * * * * * * * * * |
풀이
줄 번호의 홀짝에 따라 들여쓰기를 적용한다.
- N줄을 반복한다
- 0-indexed 기준 홀수 번째 줄은 앞에 공백 하나를 출력한다
- 각 줄에
"* "를 N번 반복 출력한다
핵심 아이디어: 홀수 줄에만 공백 하나를 추가하면 지그재그 패턴이 만들어진다.
코드
#include <iostream>
using namespace std;
int main()
{
int N;
cin >> N;
for (int i = 0; i < N; i++)
{
if (i % 2 == 1)
cout << " ";
for (int j = 0; j < N; j++)
{
cout << "* ";
}
cout << endl;
}
}복잡도
- 시간: O(N^2)
- 공간: O(1)