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

[백준] 2445번: 별 찍기 - 8 (C++)

by Tarra 2023. 1. 20.

2445번: 별 찍기 - 8


문제 )

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

 

입력 :

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

 

 

출력 :

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

 

 

풀이)

 

여태까지의 별 찍기 문제와 크게 다를 건 없는 문제였다.

 

좀 다르게 풀 수 있었던 것은

 

코드가 다음과 같이 반복 되기 때문에 리펙토링할게 많았던 것 같다.

 

 

물론... 귀차니즘 때문에 일일이 다 치긴 했지만,

 

충분히 짧게 만들 수 있었을 것 같은 문제였다.

 

 

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
 
using namespace std;
 
int main()
{
    int n;
    cin >> n;
 
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < i + 1; j++) {
            cout << "*";
        }
 
        for (int k = 0; k < n - i - 1; k++) {
            cout << " ";
        }
 
        for (int k = 0; k < n - i - 1; k++) {
            cout << " ";
        }
 
        for (int j = 0; j < i + 1; j++) {
            cout << "*";
        }
 
        cout << "\n";
 
    }
 
 
    for (int i = 0; i < n - 1; i++) {
        for (int j = n - i - 1; j > 0; j--) {
            cout << "*";
        }
 
        for (int k = 0; k < i + 1; k++) {
            cout << " ";
        }
 
        for (int k = 0; k < i + 1; k++) {
            cout << " ";
        }
 
        for (int j = n - i - 1; j > 0; j--) {
            cout << "*";
        }
 
        cout << "\n";
    }
 
 
    return 0;
}
 
cs
 

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

 

2445번: 별 찍기 - 8

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

www.acmicpc.net