[C]백준_2442 : 별 찍기 - 5

Alal11·2023년 2월 12일
post-thumbnail

출처

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


문제

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

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


입력

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


출력

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


예제 입출력


알고리즘 분류

  • 구현

➡️문제 분석

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

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

0개의 댓글