코딩테스트 & 문제 풀이

[C]백준_2438 : 별 찍기 - 1

Hicecream 2023. 7. 16. 00:09

2022년 9월 21일에 작성됨

 

https://www.acmicpc.net/problem/2438

 

2438번: 별 찍기 - 1

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

www.acmicpc.net

 

 

문제 분석

중첩 for문을 이용하여 줄마다 *의 개수를 하나씩 늘려가며 N개까지 출력한다.

 

 

소스 코드 (⭕)

#include <stdio.h>

int main()
{
    int N;

    scanf("%d", &N);

    for (int i = 0; i < N; i++) {
        for (int j = 0; j <= i; j++) {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}

 

코드 분석

1. N을 입력한다.

2. 이중 for 문을 이용한다.

    바깥 for 문은 \n(줄 바꿈)을 N번 반복하는 반복문

    안쪽 for 문은 i의 값 만큼 반복하여 *을 출력

 


예를 들어 N = 4라고 하면,

i j
0 0
1 0, 1
2 0, 1, 2
3 0, 1, 2, 3

여기서 0, 1, 2, 3의 값에 주목하지 말고 '몇 번' 실행인지에 주목할 것!

i를 \n으로 생각하고, j가 * 출력으로 생각해보자.

i=0, j=0일 때, * 1개, \n 한 번
i=1, j=0, 1일 때, * 2개, \n 한 번
i=2, j=0, 1, 2일 때, * 3개, \n 한 번
i=3, j=0, 1, 2, 3일 때, * 4개, \n 한 번

 

 

 

 

end

별 찍기 유형 중에 풀다가 포기한 문제가 있는데 조만간 다시 풀어봐야겠다..
이 정도 별 찍기는 혼자 가능!😆