반응형
규칙은 N개로 이루어진 일정의 패턴을 N번 반복한다는 것이다.
그래서 출력되는 총 별의 갯수는 N*N개다.
패턴은 N이 짝수일 때와 홀수일 때, 두 가지로 나눠지는데
짝수일 때는 첫번째 줄에 N/2개, 그 다음 줄에 한 칸 띄고 N/2개를 출력하는 게 한 세트이다.
이 세트를 똑같이 N번 반복해서 출력한다.
홀수일 때에는 첫째 줄에 N/2+1개, 그 다음 줄에 한 칸 띄고 N/2개를 출력하는 게 한 세트.
홀수도 마찬가지로 세트를 N번 반복 출력한다.
#include <iostream>
using namespace std;
void PrintStars(int N)
{
if (N % 2 == 1) {
for (int i = 0; i < N; i++) {
for (int stars1 = 0; stars1 < N / 2 + 1; stars1++) cout << '*' << ' ';
cout << endl;
for (int stars2 = 0; stars2 < N / 2; stars2++) cout << ' ' << '*';
cout << endl;
}
}
else {
for (int j = 0; j < N; j++) {
for (int stars3 = 0; stars3 < N / 2; stars3++) cout << '*' << ' ';
cout << endl;
for (int stars4 = 0; stars4 < N / 2; stars4++) cout << ' ' << '*';
cout << endl;
}
}
}
int main()
{
int N;
cin >> N;
PrintStars(N);
return 0;
}
반응형
'Training > BOJ' 카테고리의 다른 글
[C++] 4673 셀프 넘버 (0) | 2022.01.07 |
---|---|
[C++] 1193 분수찾기 (0) | 2021.03.09 |
[C++] 2446 별 찍기 - 9 (0) | 2020.08.10 |
[C++] 10809 알파벳 찾기 (0) | 2020.08.10 |
[C++] 2869 달팽이는 올라가고 싶다 (0) | 2020.08.08 |