코딩/백준 문제 (브론즈)

[백준/2444/C언어] 별 찍기 - 7 _ 풀이

룻밤 2023. 8. 18. 17:48

https://www.acmicpc.net/problem/2444

 

2444번: 별 찍기 - 7

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

www.acmicpc.net


풀이

#include <stdio.h>
int main() {
	int n;
	scanf("%d", &n);

	for (int i = 0; i < n; i++) {		// 0 ~ 5행	
		for (int j = n - 1; j > i; j--)		// i가 커질수록 띄어쓰기 횟수는 줄어듬
			printf(" ");
		for (int j = 0; j <= 2 * i; j++)	// i가 커질수록 별은 2개씩 늘어남
			printf("*");
		printf("\n");						// 줄바꿈
	}
	for (int i = n - 1; i > 0; i--) {	// 6 ~ 9행
		for (int j = i; j <= n - 1; j++)	// i가 줄어들수록 띄어쓰기는 늘어남
			printf(" ");
		for (int j = 2 * i - 1; j > 0; j--)	// i가 줄어들수록 별은 2개씩 줄어듬
			printf("*");
		printf("\n");						// 줄바꿈
	}
	return 0;
}

처음에 큰 for문을 하나만 쓰고 if else문으로 별의 증감을 표현해 다이아몬드 꼴을 만드려다,

별이 2개씩 줄어드는 구간을 만드는게 도저히 안되어서 나눠서 풀었다.

 

혹시 if else로 푼 사람이 있다면 댓글 부탁드립니다.