본문 바로가기
Develop/백준 (Cpp)

[백준] 2446번: 별 찍기 - 9 (C++)

by Tarra 2023. 1. 20.

2446번: 별 찍기 - 9


문제 )

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

 

입력 :

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

 

 

출력 :

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

 

 

 

풀이)

 

구간을 잘 나눠서 풀면 되는 문제이다.

 

나의 경우에는 공백과 별을 우선 나누었고,

 

감소하는 부분과 별이 증가하는 부분을 나누어 총 4개의 파트로 나누어 구현하였다.

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
 
using namespace std;
 
int main()
{
    int n;
    cin >> n;
 
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < i; j++) {
            cout << " ";
        }
 
        for (int k = 0; k < 2 * (n - i) - 1; k++) {
            cout << "*";
        }
 
        cout << "\n";
    }
 
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < (n - i - 2); j++) {
            cout << " ";
        }
 
        for (int k = 0; k < 2 * (i + 1+ 1; k++) {
            cout << "*";
        }
        cout << "\n";
    }
 
    return 0;
}
 
cs

출처 : https://www.acmicpc.net/problem/2446 

 

2446번: 별 찍기 - 9

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

www.acmicpc.net