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로 푼 사람이 있다면 댓글 부탁드립니다.
'코딩 > 백준 문제 (브론즈)' 카테고리의 다른 글
[백준/2501/C언어] 약수 구하기 _ 풀이 (0) | 2023.08.18 |
---|---|
[백준/2903/C언어] 중앙 이동 알고리즘 _ 풀이 (0) | 2023.08.18 |
[백준/15917/C언어] 노솔브 방지문제야!! _ 풀이 (0) | 2023.08.18 |
[백준/5086/C언어] 배수와 약수 _ 풀이 (0) | 2023.08.17 |
[백준/5622/C언어] 다이얼 _ 풀이 (0) | 2023.08.17 |