Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

blog

(백준) 2444-별찍기 본문

백준

(백준) 2444-별찍기

채희태 2023. 4. 9. 13:04

문제

예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.

입력

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

출력

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

 

 

 

 

#include <stdio.h>
int main()
{
	int i, j, n;
	scanf("%d", &n);
	for (i = 0; i < n; i++)
	{
		for (j = 0; j < n - i - 1; j++)
		{
			printf(" ");
		}
		for (j = 0; j < i * 2 + 1; j++)
		{
			printf("*");
		}
		printf("\n");
	}
		for(i = 0; i < n-1; i++){
			for(j=0; j < i + 1; j++){
			printf(" ");			
			}
	for(j=0; j < 2*n-3-(2*i); j++){
		printf("*");
	}
		printf("\n");
		
		}
return 0;
}

1. n의 값을 입력받는다.

위쪽 삼각형 출력

2. 공백 개수를 n-i(점점 줄어듦) 만큼 출력한다

3. 별의 개수를 i*2+1 만큼 출력한다 왜냐하면 1번째 줄에서 2번째 줄로 넘어갈떄 별의 개수가 1줄 +2 이기 때문이다

4. 공백 별을 출력한후 줄바꿈을 출력한다.

아래쪽 역삼각형 출력

5. 아래쪽은 줄이 n-1개 만큼 있으므로 n-1만큼 반복한다

6. 공백 i+1(점점늘어남)을 출력한다

7. 별의 개수 2*n-3-(2*i)를 출력한다 왜냐하면 n=5 일때 처음 출력할때가 7개 인데 7은 n*2-3과 같으므로 n*2-3을 시작점으로 두고 다음 줄로 넘어갈때마다 별이 2개씩 줄기 때문에 n*2-3-(2*i)를 했다.

8. 공백 별을 출력한 다음 줄바꿈을 출력한다.

 

'백준' 카테고리의 다른 글

(백준) 링-3036  (0) 2023.04.18
(백준) 2563: 색종이  (0) 2023.04.10
(백준) 3003-킹, 퀸, 룩, 비숍, 나이트, 폰  (0) 2023.04.09
(백준) 11720-숫자의 합  (0) 2023.04.09
(백준) 4344-평균은 넘겠지  (0) 2023.04.04