티스토리 뷰

728x90
반응형

백준 온라인 저지(BOJ) 2440번 별찍기 - 3

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

 

2440번: 별 찍기 - 3

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

www.acmicpc.net

* 사용언어 : C언어, C++

 

1. 문제

첫 번째 줄에 n개, 두 번째 줄에 n - 1개, ... n번째 줄에 1개의 별을 출력

 

2. 풀이

별찍기 1, 2를 푸셨다면 무난하게 푸실 수 있을 것 같습니다.

 

바깥쪽 for문 (i)은 몇 번째 줄 인가를 의미하고,

안쪽 for문 (j)은 해당 줄에 별의 개수를 의미합니다.

1일때 n개, 2일때 n - 1개 이므로 일반화하면 i 일때 n - i + 1 개입니다.

따라서 1부터 n - i + 1까지 출력하도록 하고,

안쪽 for문이 끝나면 개행을 합니다.

 

개행은 printf("\n") 로도 가능하지만,

변수 출력이 없기 때문에 기능이 적은 puts("") 함수를 사용했습니다.

(수행 속도가 약간 빠르다고 합니다)

 

3. 코드

#include <stdio.h>

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

 

728x90
반응형
댓글