관리 메뉴

HeeJ's

[백준 2522] 별 찍기 - 12 :: C언어 본문

<Algorithm>_solved/<BOJ>_C

[백준 2522] 별 찍기 - 12 :: C언어

meow00 2020. 1. 11. 17:59

문제

예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.

입력

첫째 줄에 N(1 ≤ N ≤ 100) 주어진다.

출력

첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.


처음엔 반복문을 크게 2n-1번 해주려고 했는데

그렇게 되면 조건들이 더 많이 필요해 for문과 if문을 난잡하게 사용해야할 것 같아서

큰 반복문을 n번과 n-1번으로 별이 증가되는 부분, 감소되는 부분으로 나누어서 코드를 짜주었다.


#include <stdio.h>

int main() {
	int n;
	scanf("%d", &n);
	int i, j;
	for (i = 1; i <= n; i++) {
		for (j = 1; j <= n - i; j++) {
			printf(" ");
		}
		for (j = 1; j <= i; j++) {
			printf("*");
		}
		printf("\n");
	}
	
	for (i = n - 1; i > 0; i--) {
		for (j = 1; j <= n - i; j++) {
			printf(" ");
		}
		for (j = 1; j <= i; j++) {
			printf("*");
		}
		printf("\n");
	}
	return 0;
}