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

[백준] 2522번: 별 찍기 - 12 (C++)

by Tarra 2023. 1. 20.

2522번: 별 찍기 - 12


 

문제 )

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

 

 

입력 :

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

 

 

 

출력 :

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

 

 

 

 

풀이)

 

공백과 별을 더한 갯수가 n가 맞춰지도록 하면 되는 문제이다.

 

코드는 그런식으로 풀진 않았지만.

 

n이 3이라면 별의 개수는 1, 2 ,3, 2, 1이 되고,

 

이 다섯개가 3이 되도록 공백의 수를 조절하면 더 쉽게 풀릴 것 같다.

 

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
36
37
#include <iostream>
 
using namespace std;
 
 
int main()
{
    int n;
    cin >> n;
     
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n - i - 1; j++) {
            cout << " ";
        }
 
        for (int k = 0; k < i + 1; k++) {
            cout << "*";
        }
        cout << "\n";
    }
 
    for (int i = 1; i < n; i++) {
        for (int j = 0; j < i; j++) {
            cout << " ";
        }
 
        int star = n - i;
        for (int k = star; k > 0; k--) {
            cout << "*";
        }
        cout << "\n";
    }
 
    return 0;
}
 
 
cs
 

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

 

2522번: 별 찍기 - 12

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

www.acmicpc.net