반응형
출처: https://www.acmicpc.net/problem/10991
Input
4
Output
*
* *
* * *
* * * *
각 줄마다 특정한 규칙을 가지기에 따로 공간을 두지 않고 바로 별 형태를 출력.
각 줄의 양 끝 별의 위치를 left, right로 두면 아래 규칙을 만들 수 있습니다.
① left 이전까지는 공백을 표시합니다.
② left와 right 사이는 『*』 과 『공백』을 차례대로 출력
※ left, right의 기준점을 n - 1 위치로 설정하여 점점 거리가 증가.
left--; right++;
#include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;
void drawStar(int left, int right) {
for (int i = 0; i < left; i++) {
printf(" ");
}
for (int i = left; i <= right; i = i + 2) {
printf("* ");
}
printf("\n");
}
int main(void) {
int n;
cin >> n;
int left = n-1, right = n-1;
for (int i = 0; i < n; ++i) {
// 각 줄에 해당하는 별과 공백을 출력
drawStar(left, right);
left--; right++;
}
return 0;
}
반응형
'PS 문제 풀이 > Baekjoon' 카테고리의 다른 글
[BOJ] 백준 6603 로또 (0) | 2021.02.26 |
---|---|
[BOJ] 백준 1551 수열의 변화 (0) | 2021.02.26 |
[BOJ] 백준 10992 별 찍기 - 17 (0) | 2021.02.26 |
[BOJ] 백준 10995 별 찍기 - 20 (0) | 2021.02.26 |
[BOJ] 백준 10996 별 찍기 - 21 (0) | 2021.02.26 |
댓글