알고리즘 모음(C++)

백준 2446 - 별 찍기 - 9(C++) 본문

백준

백준 2446 - 별 찍기 - 9(C++)

공대생의 잡다한 사전 2023. 4. 10. 17:06

문제 링크입니다. https://www.acmicpc.net/problem/2446

 

2446번: 별 찍기 - 9

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

www.acmicpc.net

반복문을 사용하는 별찍기 문제입니다.

첫줄에는 (N*2) - 1개의 별과 0개의 띄어쓰기가,

둘째 줄에서는 (N-1)*2-1개의 별과 1개의 띄어쓰기가,

세번째 줄에서는 (N-2)*2-1개의 별과 2개의 띄어쓰기가 있습니다.

 

이를 봤을 때, 1~N개까지의 줄에는 (N-i)*2-1개의 별과, 0~N-1개의 띄어쓰기가 나옴을 알 수 있습니다.

N+1 ~ N*2-1개의 줄에는 이를 반대로 뒤집어 놓은 것음으로 반대로만 출력해주면 됩니다.

 

자세한 것은 코드를 참고해주세요

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <cstring>
#include <cmath>
#define P pair<int, int>
#define F first
#define S second
#define INF 987654321
using namespace std;

int N;

int main(){
    cin.tie(0);
    cout.tie(0);
    cin >> N;
    for(int i = N; i >= 1; i--){
        for(int j = i; j < N; j++) cout << " ";
        for(int j = 1; j <= i*2-1; j++) cout << "*";
        cout << "\n";
    }
    for(int i = 2; i <= N; i++){
        for(int j = i; j < N; j++) cout << " ";
        for(int j = 1; j <= i*2-1; j++) cout << "*";
        cout << "\n";
    }
    return 0;
}

 

 

질문 및 조언은 댓글을 남겨주세요

'백준' 카테고리의 다른 글

백준 2445 - 별 찍기 - 8(C++)  (0) 2023.04.10
백준 2523 - 별 찍기 - 13(C++)  (0) 2023.04.10
백준 2443 - 별 찍기 - 6(C++)  (0) 2023.04.06
백준 2442 - 별 찍기 - 5(C++)  (0) 2023.04.06
백준 1193 - 분수찾기(C++)  (0) 2023.04.06