코딩/백준 문제 (브론즈)
[백준/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로 푼 사람이 있다면 댓글 부탁드립니다.