본문 바로가기
C C++/C C++ 백준

C언어 백준 2439번 별 찍기 - 2

by Go! Jake 2022. 5. 21.

문제

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

하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

문제 풀이

#include <stdio.h>
#include <string.h>


int main(void)
{
	int count;
	int i;
	int j;
	int k;
	
	scanf("%d",&count);
	
	
	for(i=0; i<count;i++)
	{
		for(j=count-i-1;j!=0;j--)
			printf(" ");
		for(k=0;k<i+1;k++)
			printf("*");
		printf("\n");
	}
	
	return 0;
}

- 해당 문제는 공백과 *를 행이 늘어가면서 개수가 바뀌므로 1) 행을 증가 시키는 for문 2) 공백을 위한 for문 3) *을 위한 for문이므로, 총 3개의 for문이 필요합니다.

- 행을 증가 시키는 for문 안에 공백과 *을 위한 for문 총 2개를 입력합니다.

 

공백을 위한 for문:

for(j=count-i-1; j!=0; j--) 로 선언하였습니다. 초기부터 여러 개의 공백이 입력되므로, 필요한 개수만큼 초기화하고 이를 줄여나갑니다.

*을 위한 for문:

for(k=0; k<i+1; k++) 로 선언하였습니다. 초기 k=0부터 k=i까지 개수를 행마다 점점 늘려나갑니다.

'C C++ > C C++ 백준' 카테고리의 다른 글

C언어 백준 2441번 별 찍기 - 4  (0) 2022.05.22
C언어 백준 2440번 별 찍기 - 3  (0) 2022.05.22
C언어 백준 2438번 별 찍기 - 1  (0) 2022.05.21
C언어 백준 10818번 최소, 최대  (0) 2022.05.21
C언어 백준 8393번 합  (0) 2022.05.21

댓글