코딩테스트 & 문제 풀이

[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

별 찍기를 자주 하다 보니까 확실히 반복문을 활용하는 것이 많이 익숙해진 것 같다!!