본문 바로가기

Study/코테

백준 브론즈3 2445번: 별 찍기 - 8

2023.02.25
C++

2445번: 별 찍기 - 8

 

2445번: 별 찍기 - 8

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

www.acmicpc.net

문제

예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.

입력

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

출력

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

예제 입력 1

5

예제 출력 1

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

코드

#include <iostream>
using namespace std;

int main() {
	int N;
	cin >> N;

	for (int i = 0; i < N; i++) {	// 1번~3번
		for (int a = 0; a < i + 1; a++) {	// 1번
			cout << "*";
		}
		for (int b = 2 * N - 2; b > 2 * i; b--) {	// 2번
			cout << " ";
		}
		for (int c = 0; c < i + 1; c++) {	// 3번
			cout << "*";
		}
		cout << endl;
	}
	for (int j = 0; j < N - 1; j++) {	// 4번~6번
		for (int d = N; d > j + 1; d--) {	// 4번
			cout << "*";
		}
		for (int e = 0; e < 2 * j + 2; e++) {	// 5번
			cout << " ";
		}
		for (int f = N; f > j + 1; f--) {	// 6번
			cout << "*";
		}
		cout << endl;
	}
	return 0;
}

구역을 나누어 코드를 작성했다 (1번~6번)