[C]백준_2443 : 별 찍기 - 6

Alal11·2023년 2월 13일
0
post-thumbnail

출처

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


문제

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

별은 가운데를 기준으로 대칭이어야 한다.


입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.


출력

첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.


예제 입출력


알고리즘 분류

  • 구현

➡️문제 분석

for 반복문을 활용하여 별을 출력한다.


➡️코드(⭕)

#include <stdio.h>

int main()
{
	int n, cnt = 0;

	scanf("%d", &n);

	cnt = n;

	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < i; j++)
		{
			printf(" ");
		}
		for (int k = 0; k < 2 * cnt - 1; k++)
		{
			printf("*");
		}
		printf("\n");

		cnt--;
	}
}

➡️코드 분석

  1. n을 입력받고 변수 cnt에 n의 값을 넣어준다.

  2. i=0부터 n-1까지 반복하는 반복문으로 줄바꿈을 n번 해준다.

  3. 공백은 0번부터 n-1번까지 증가하도록 출력해야 되므로 j=0부터 j<i까지 1씩 증가하게 해준다.

  4. 별 모양은 2*n-1번부터 2개씩 줄어들며 1번까지 출력해야 되므로 k=0부터 k<2*cnt-1까지 1씩 증가하게 해준다. 해당 반복이 끝나면 cnt의 값을 1씩 감소시켜 주어서 k의 반복 범위가 줄어들게 한다.


➡️end

별 찍기에 적응돼서 그런지 아직까진 혼자 할 만하다! 오히려 이 문제는 술술 빠르게 풀려서 좋았다ㅋㅋㅋ 다음 문제는 과연..

0개의 댓글