Notice
Recent Posts
Recent Comments
Link
알고리즘 모음(C++)
백준 2445 - 별 찍기 - 8(C++) 본문
문제 링크입니다. https://www.acmicpc.net/problem/2445
반복문을 사용한 별 찍기 문제입니다.
먼저 한줄에는 별과 띄어쓰기를 합해서 N*2개가 존재하는 것을 확인할 수 있습니다.
그리고 1~N / (N+1) ~ (N*2 - 1)로 줄을 나눠서 생각해보면 쉽습니다.
1번 줄에는 별이 1개씩 2번 나오고, 띄어쓰기는 N*2 -2개가 나옵니다.
2번 줄에는 별이 2개씩 2번 나오고, 띄어쓰기는 N*2 -4개가 나옵니다.
3번 줄에는 별이 3개씩 2번 나오고, 띄어쓰기는 N*2 -6개가 나옵니다.
4번 줄에는 별이 4개씩 2번 나오고, 띄어쓰기는 N*2 -8개가 나옵니다.
이정도만 확인해보면 규칙을 찾으실 수 있을거 같습니다.
자세한 것은 코드를 참고해주세요
#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 = 1; i <= N; i++){
for(int j = 1; j <= i; j++) cout << "*";
for(int j = i*2; j < N*2; j++) cout << " ";
for(int j = 1; j <= i; j++) cout << "*";
cout << "\n";
}
for(int i = N-1; i >= 1; i--){
for(int j = 1; j <= i; j++) cout << "*";
for(int j = i*2; j < N*2; j++) cout << " ";
for(int j = 1; j <= i; j++) cout << "*";
cout << "\n";
}
return 0;
}
질문 및 조언은 댓글을 남겨주세요
'백준' 카테고리의 다른 글
백준 5622 - 다이얼(C++) (0) | 2023.04.10 |
---|---|
백준 1924 - 2007년(C++) (0) | 2023.04.10 |
백준 2523 - 별 찍기 - 13(C++) (0) | 2023.04.10 |
백준 2446 - 별 찍기 - 9(C++) (0) | 2023.04.10 |
백준 2443 - 별 찍기 - 6(C++) (0) | 2023.04.06 |