코딩테스트 & 문제 풀이
[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
별 찍기 유형 중에 풀다가 포기한 문제가 있는데 조만간 다시 풀어봐야겠다..
이 정도 별 찍기는 혼자 가능!😆