본문 바로가기
알고리즘

[c 알고리즘] 백준 별찍기4 (2441번)

by Hyper하이퍼 2023. 1. 7.
반응형

 

지난 포스팅에 이어 오늘도 별 찍기 문제를 다뤄보려합니다. 위와 같은 모양이 되도록 출력시켜야합니다.

 

이전 별 문제까지는 별이 먼저 출력 되기 때문에 변수를 2개만가지고 구현이 가능하였습니다. 

 

하지만 공백 출력이 별보다 먼저 되는 경우가 발생하기에 blank라는 변수를 하나 더 생성하여 관리하려합니다. 

 

2중 for문의 핵심 체크사항은 아래와 같습니다.

 

1. for문에 사용할 변수의 역할 및 범위 확인.

 

2. 각 변수들의 관계를 파악하여 문제에 적용하기.

아래 글을 한번 읽어 보시면 더욱 도움이 됩니다.

반응형

2023.01.04 - [분류 전체보기] - [c언어] 2중 for문

 

문제를 확인해보면 라인은 총 5개 라인입니다. 별 모양은 5->1로 감소 됩니다. 공백은 0->4로 증가합니다.

 

구현 방법은 아래 코드를 참고 바랍니다.

#include <stdio.h>

void main(void)
{
	int line; // 라인 관련 변수
	int blank; // 공백 관련 변수
	int star; // 별 출력 관련 변수

	for (line = 0; line < 5; line++) // 총 5개 줄이며, 1줄씩 이동을 담당한다
	{
		for (blank = 0; blank < line; blank++) // 별보다 공백이 먼저 출력 되어야한다.
		{                                      // 라인 수와 공백의 개수가 동일하다.
			printf(" ");
		}
			
		for (star = 0; star < 5 - blank; star++) // 각 라인에서 공백의 개수를 뺀만큼만 출력한다.
		{
			printf("*");
		}
		printf("\n");
		
	}
}

 

오늘은 2중 for문에서 3개의 변수를 다뤄 원하는 형태를 얻어내는 문제를 같이 확인했습니다.

 

다음 포스팅으로 찾아뵙겠습니다.

 

반응형