https://www.acmicpc.net/problem/2438
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
중첩 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;
}
N을 입력한다.
이중 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 한 번
별 찍기 유형 중에 풀다가 포기한 문제가 있는데 조만간 다시 풀어봐야겠다..
이 정도 별 찍기는 혼자 가능!😆