2023년 2월 25일에 작성됨
https://www.acmicpc.net/problem/2446
2446번: 별 찍기 - 9
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
www.acmicpc.net
문제 분석
역삼각형과 삼각형 모양을 for문을 활용하여 출력해준다.
소스 코드 (⭕)
#include <stdio.h>
int main(void)
{
int n, cnt;
scanf("%d", &n);
cnt = n;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < i; j++)
{
printf(" ");
}
for (int k = 0; k < 2 * cnt - 1; k++)
{
printf("*");
}
cnt--;
printf("\n");
}
cnt = n - 2;
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < cnt; j++)
{
printf(" ");
}
cnt--;
for (int k = 0; k < 2 * i + 3; k++)
{
printf("*");
}
printf("\n");
}
}
코드 분석
1. n을 입력받고, 역삼각형을 먼저 출력하기 위해 n번 반복하는 반복문을 세워준다.
1-1. 0번부터 n-1번까지 1씩 증가하도록 반복하여 공백을 출력해준다.
1-2. 2*cnt-1개부터 2개씩 줄어들도록 반복마다 cnt--;를 해주어 별을 출력하고, 줄 바꿈을 해준다.
2. 꼭짓점 별 1개를 제외한 삼각형을 출력하기 위해 n-1번 반복하는 반복문을 세워준다.
2-1. 공백은 n-2번부터 1개씩 줄어들며 출력되므로 cnt에 n-2를 넣어주고 cnt번 반복해준 다음 cnt--;를 해준다.
2-2. 별은 3개부터 2개씩 늘어나며 출력되므로 2*i+3번을 반복해주는 반복문을 세워주고, 줄 바꿈을 해준다.
end
다음 별 찍기 문제는 아마 건너뛰거나 아주 나중에 풀 것 같다.. 아니ㅜ 계속 브론즈 였다가 갑자기 골드로 건너뛰면..! 깜짝 놀랐다ㅋㅋㅋ 아직은 실버도 제대로 못 풀기 때문에..! 이제 별 찍기는 그만하고 실버 문제 위주로 풀어봐야 겠다.
'코딩테스트 & 문제 풀이' 카테고리의 다른 글
[Python]백준_5086 : 배수와 약수 (2) | 2024.02.02 |
---|---|
[C]백준 4153 : 직각삼각형 (0) | 2024.01.15 |
[C]백준_2445 : 별 찍기 - 8 (0) | 2023.12.22 |
[C]백준_1789 : 수들의 합 (2) | 2023.12.21 |
[C]백준_2444 : 별 찍기 - 7 (0) | 2023.12.20 |