celina의 이것저것

[백준 c 2443] 별 찍기 -6 (브론즈 3) 본문

자료구조&알고리즘/백준

[백준 c 2443] 별 찍기 -6 (브론즈 3)

celinayk 2022. 10. 21. 22:22
반응형

문제

 

코드

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
	
	int n;
	scanf("%d", &n);

	for (int i = n; i > 0; i--) {
		for (int j = 0; j < n - i; j++) {
			printf(" ");
		}
		for (int k = 1; k < 2 * i; k++) {
			printf("*");
		}
		printf("\n");
	}

	return 0;
}

 

리뷰

별 찍기5는 1에서 별 갯수가 늘어났다면 별 찍기6은 반대로 별의 갯수가 마지막에 1개로 줄어든다.

별 찍기5와 마찬가지로 대칭인 것에 초점을 두지말고 공백을 출력하는 것만 주의하면 금방 풀 수 있다.

 

우선 가장 바깥반복문은 n부터 1까지 줄여가면서 반복문을 돌린다.

공백을 출력하는 반복문은 0, 1, 2, 3, 4개가 출력된다.  j < n-i 조건을 걸어주면

i=5 일 때 0개의 공백,  j<0 이고 공백 0개 출력

i=4 일 때 1개의 공백,  j<1 이고 0<1 이므로 공백 1개 출력

i=3 일 때 2개의 공백, j<2 이고 0<2,  1<2 이므로 공백 2개 출력

i=2 일 때 3개의 공백,  j<3

i=1 일 때 4개의 공백 

공백을 출력 할 수 있다.

 

별을 출력하는 반복문은 별이 2배씩 늘어나고 있으니까 k<2*1를 하면 된다

 

 

출처

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

 

2443번: 별 찍기 - 6

첫째 줄에는 별 2×N-1개, 둘째 줄에는 별 2×N-3개, ..., N번째 줄에는 별 1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다.

www.acmicpc.net

 

Comments