Training/BOJ

[C++] 10996 별 찍기 - 21

FATKITTY 2020. 8. 10. 16:18
반응형

 

 

규칙은 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