본문 바로가기
코딩/백준

[C언어] 백준 BOJ 2446 별 찍기 9

by 김두루미 2022. 7. 26.
반응형

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

 

2446번: 별 찍기 - 9

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

www.acmicpc.net

문제 설명

이번 문제는 별 찍기 6번과 별 찍기 5번을 합친 모양을 출력하는 문제입니다. 별 찍기 7번과 동일하게 코드를 그대로 사용하면, 별이 하나 나오는 부분이 2번 나오게 됩니다.

별이 중복되는 경우

별 찍기 8번과 동일하게 아래의 역삼각형을 그리는 반복문의 i의 초기값을 0이 아닌 1로 설정하여, 0인 경우는 출력이 안되고 1인 경우부터 출력이 되게 하여 중복되는 문제를 해결하였습니다.

5를 입력하였을 때 출력되는 모습

 

 

 

코드 (C언어)
#include <stdio.h>

int main(void)
{
	int i, j, n;
	
	scanf("%d", &n);
	
	//별 찍기 6 번 
	for(i = 0; i < n; i++)
	{
		for(j = 0; j < i; j++)
		{
			printf(" ");	
		} 
		
		for(j = 0; j < (n * 2) - (i * 2 + 1); j++)
		{
			printf("*");
		}
		printf("\n");
	} 
	
	// 별 찍기 5 번 : i를 0이 아닌 1부터 시작하여 중복 부분이 나오지 않게 조치 
	for(i = 1; i < n; i++)
	{
		for(j = 0; j < n-1-i; j++)
		{
			printf(" ");	
		} 
		
		for(j = 0; j < (i * 2) + 1; j++)
		{
			printf("*");
		}
		printf("\n");
	}
	
	return 0;
}
반응형