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

[백준] 2443번: 별 찍기 - 6 (C++)

by Tarra 2023. 1. 20.

2443번: 별 찍기 - 6


 

문제 )

첫째 줄에는 별 2×N-1개, 둘째 줄에는 별 2×N-3개, ..., N번째 줄에는 별 1개를 찍는 문제

별은 가운데를 기준으로 대칭이어야 한다.

 

 

입력 :

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

 

 

 

출력 :

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

 

 

 

 

풀이)

 

지난번 풀었던 별 찍기인 2442번과 거의 동일한 문제이다.

 

이번 문제는 역으로 별이 줄어드는 것을 구현하면 된다.

 

생각보다 별을 뽑아내는게 생각이 잘 나지 않았는데,

 

그냥 직관적으로 `int k` 가 늘어날 수 있도록 별의 개수를 따로 변수로 저장한 뒤

 

그것을 기준으로 코드를 작성해주었다.

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

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

 

2443번: 별 찍기 - 6

첫째 줄에는 별 2×N-1개, 둘째 줄에는 별 2×N-3개, ..., N번째 줄에는 별 1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다.

www.acmicpc.net