반응형
문제
풀이
별 앞의 공백은 0, 1, ... , n으로 증가하는 것을 볼 수 있다.
따라서, 공백을 출력하기 위한 for문은 아래와 같다.
for (int j = 0; j < i; j++) {
cout << " ";
}
별의 개수는 첫 번째 줄에는 2 X N -1개, 두 번째 줄에는 2 X N -3개, ... , N 번째 줄에는 별 1개를 찍어야한다.
따라서, 별을 출력하기 위한 for문은 아래와 같다.
for (int k = 1; k <= (n * 2 - (i * 2 + 1)); k++) {
cout << "*";
}
별 뒤의 공백은 따로 출력하지 않아도 되므로, for문 내에, 공백 출력을 위한 for문과 별 출력을 위한 for문 두 개를 만들면 된다.
코드
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {
for (int j = 0; j < i; j++) {
cout << " ";
}
for (int k = 1; k <= (n * 2 - (i * 2 + 1)); k++) {
cout << "*";
}
cout << endl;
}
}
결과
반응형
'Programming > C++ - 백준' 카테고리의 다른 글
[백준] 2445번 : '별 찍기 -8' - (C++) (1) | 2023.04.19 |
---|---|
[백준] 2444번 : '별 찍기 -7' - (C++) (0) | 2023.04.18 |
[백준] 2442번 : '별 찍기 -5' - (C++) (0) | 2023.04.18 |
[백준] 2441번 : '별 찍기 -4' - (C++) (0) | 2023.04.18 |
[백준] 2440번 : '별 찍기 -3' & 출력 형식이 잘못되었습니다 - (C++) (0) | 2023.04.18 |
댓글