본문 바로가기

[백준] 2444 별찍기 - 7

@cayman0312025. 12. 13. 14:01

 

풀이

단순한 구현 문제이다. 예제 출력문을 보고 규칙을 찾고 규칙대로 그대로 코드로 구현하기만 하면 된다. 빡구현 문제도 아니라서 규칙을 찾는게 어렵지 않았다. 반복문을 작성할 때 범위만 신경쓰도록 하자.

 

n을 입력받아 피라미드 형식으로 출력하면 되는 문제.

다이아몬드 모양을 한번에 출력하기 보다 그냥 피라미드, 역피라미드로 나눠서 생각하도록 하자.

직접 공백과 별의 개수를 세보면 자연스럽게 규칙이 보인다.

 

첫번째 줄은 (n-1)번의 공백 후 별을 출력,

두번째 줄은 (n-2)번의 공백 후 별을 출력,

따라서 i번째 줄은 (n-i)번의 공백 후 별을 출력한다.

같은 방식으로 별의 출력 개수도 규칙을 찾으면 된다.

#include <bits/stdc++.h>
using namespace std;


int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);

    int n;
    cin >> n;

    for (int i = 1; i <= n; i++) {
        for (int j = 0; j < n-i; j++) {
            cout << " ";
        }
        for (int j = 0; j < 2*i-1; j++) {
            cout << "*";
        }
        cout << "\n";
    }

    for (int i = n-1; i >= 0; i--) {
        for (int j = 0; j < n-i; j++) {
            cout << " ";
        }
        for (int j = 0; j < 2*i-1; j++) {
            cout << "*";
        }
        cout << "\n";
    }

    return 0;
}

'Memo > PS' 카테고리의 다른 글

[백준] 1919 애너그램 만들기  (0) 2025.12.21
[백준] 11328 Strfry  (0) 2025.12.19
[백준] 10807 개수 세기  (0) 2025.12.18
[백준] 1152 단어의 개수  (0) 2025.12.11
[백준] 10809 알파벳 찾기  (0) 2025.12.10
cayman031
@cayman031 :: 그누로그

목차