예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
5
* *
** **
*** ***
**** ****
**********
**** ****
*** ***
** **
* *
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) {
printf("*");
}
for (int j = 1; j <= 2 * (n - i); j++) {
printf(" ");
}
for (int j = 1; j <= i; j++) {
printf("*");
}
printf("\\n");
}
for (int i = n-1; i >= 1; i--) {
for (int j = 1; j <= i; j++) {
printf("*");
}
for (int j = 1; j <= 2 * (n - i); j++) {
printf(" ");
}
for (int j = 1; j <= i; j++) {
printf("*");
}
printf("\\n");
}
}
풀 때에는 어떻게 생각했냐면
위 사진은 각각 별찍기 1, 6, 2 입니다. 저희가 출력해야 할 별의 윗부분과 흡사합니다.
별찍기 6을 공백으로 바꾼 다음 1, 6, 2 를 합치면 윗부분이 출력됩니다.
마찬가지 3, 4, 5 를 이용하면 아랫부분도 출력됩니다
바깥 for 반복문이 2개가 있습니다. 첫번째 for 반복문은 윗쪽, 두번째는 아랫쪽을 그립니다.