백준
백준 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;
}
질문 및 조언은 댓글을 남겨주세요