Algorithm/C++

[백준 2444] 별 찍기 - 7

imagineer_jinny 2023. 9. 1. 01:24

2444번: 별 찍기 - 7 (acmicpc.net)

 

2444번: 별 찍기 - 7

첫째 줄부터 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;

    int num = n * 2 - 1; //9

    for (int i = 0; i < n; i++) //0 1 2 3 4
    {
        for (int k = 0; k < num/2 - i; k++) // 4 3 2 1
        {
            cout << " ";
        }
        for (int j = num/2 - i; j <= num / 2 + i; j++) // 1 3 5 7 9
        {
            cout << "*";
        }

        cout << endl;

    }

    for (int i = 1; i < n; i++)
    {
        for (int k = 0; k < i; k++) //0 1 2 3 4
        {
            cout << " ";
        }
        for (int j = num - i; j > i; j--) //9 7 5 3 1 //0 1 2 3 4
        {
            cout << "*";
        }

        cout << endl;

    }

    return 0;
}