코딩테스트 & 문제 풀이
[C]백준_2442 : 별 찍기 - 5
Hicecream
2023. 12. 18. 15:18
2023년 2월 12일에 작성됨
https://www.acmicpc.net/problem/2442
2442번: 별 찍기 - 5
첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다.
www.acmicpc.net
문제 분석
for 반복문을 적절히 활용하여 별을 출력한다.
소스 코드 (⭕)
#include <stdio.h>
int main()
{
int n, cnt = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
for (int j = n - 1; j > i; j--)
{
printf(" ");
}
cnt += 1;
for (int k = 1; k <= (2 * cnt) - 1; k++)
{
printf("*");
}
printf("\n");
}
}
코드 분석
1. n을 입력받고, i=0부터 n-1만큼 n번 전체 반복을 해준다.
2. 공백은 줄마다 n-1번부터 1씩 줄어들도록 출력해야 하므로 j=n-1부터 j>i까지 범위로 설정해준다. i는 전체 반복마다 1씩 증가하므로!
3. 별의 개수는 1개부터 시작하여 2개씩 증가하므로 k=1부터 k<=(2*cnt)-1까지 범위로 cnt는 1부터 반복마다 1씩 증가해주면 된다.
4. 공백과 별의 출력이 끝난 후 줄바꿈을 해주면 끝
end
별 찍기를 자주 하다 보니까 확실히 반복문을 활용하는 것이 많이 익숙해진 것 같다!!