2444: 별 찍기 - 7
2022. 8. 13. 23:39ㆍC언어/백준
브론즈 3
https://www.acmicpc.net/problem/2444
-결과
-코드
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
for (int j = n-i; j > 0; j--)printf(" ");
for (int k=2*i-1; k > 0; k--)printf("*");
printf("\n");
}
for (int i = n-1; i > 0; i--) {
for (int j = n-i; j > 0; j--)printf(" ");
for (int k = 2*i-1; k > 0; k--)printf("*");
printf("\n");
}
return 0;
}
-풀이
먼저 빈칸을 출력하고 빈칸이 출력된 후에 *을 출력하고 나면 다음 줄로 넘어가면 된다.
첫째 줄을 보면 빈칸 4개, * 1개, 다음줄이다.
둘째 줄을 보면 빈칸 3개, * 3개, 다음줄이다.
세번째 줄을 보면 빈칸 2개, * 5개, 다음줄이다.
네번째 줄을 보면 빈칸 1개, * 7개, 다음줄이다.
다섯번째 줄을 보면 빈칸 0개, * 9개, 다음줄이다.
여기서 규칙을 알 수 있다.
빈칸은 n - i개, *은 2i - 1개 (n은 첫째 줄에 입력한 수, i는 출력창의 i번째 줄을 의미한다.)가 출력되는 것을 알 수 있다.
이렇게 규칙을 토대로 for문을 작성하면 된다.
'C언어 > 백준' 카테고리의 다른 글
2445: 별 찍기 - 8 (0) | 2022.08.17 |
---|---|
2443: 별 찍기 - 6 (0) | 2022.08.17 |
1574: 공 (0) | 2022.08.02 |
1284: 집 주소 (0) | 2022.08.02 |
1267: 핸드폰 요금 (0) | 2022.07.25 |