반응형
https://www.acmicpc.net/problem/2442
step 1. 만약 N이 5라고 한다면 출력해야하는 줄 i의 수는 0번 째 줄부터 4번 째 줄까지 총 다섯 줄이다.
for (int i = 0; i < N; i++) {
/*
각 라인마다 별을 출력하는 코드 여기에 작성
*/
cout << endl; //한 줄을 출력한 뒤에는 한 줄 내리기
}
step 2. 이때, 각 줄의 공백은 input N에서 i(현재 출력해야하는 줄의 넘버)를 뺀 수보다 1 작은만큼 출력해야한다.
for (int j = N - i -1; j > 0; j--) {
cout << " ";
}
step 3. 출력해야하는 *의 수는 i(현재 출력해야하는 줄의 넘버)의 2배보다 하나 더 많다.
for (int j = 0; j <= (2 * i); j++) {
cout << "*";
}
위의 조건을 코드로 구현하면 아래와 같다.
[BOJ-2442.cpp]
#include <iostream>
using namespace std;
int main() {
int N = 0;
cin >> N;
for (int i = 0; i < N; i++) {
for (int j = N - i -1; j > 0; j--) {
cout << " ";
}
for (int j = 0; j <= (2 * i); j++) {
cout << "*";
}
cout << endl;
}
}
반응형
'Online-Judge > Baekjoon' 카테고리의 다른 글
[BOJ] C++ 2444번 별 찍기 - 7 (0) | 2021.05.16 |
---|---|
[BOJ] C++ 2443번 별 찍기 - 6 (0) | 2021.05.16 |
[BOJ] C++ 2441번 별 찍기 - 4 (0) | 2021.05.15 |
[BOJ] C++ 2440번 별 찍기 - 3 (0) | 2021.05.15 |
[BOJ] C++ 2439번 별 찍기 - 2 (0) | 2021.05.15 |
댓글