본문 바로가기
Online-Judge/Baekjoon

[BOJ] C++ 2440번 별 찍기 - 3

by nyangzzi 2021. 5. 15.
반응형

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

 

2440번: 별 찍기 - 3

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

www.acmicpc.net

별을 기본 별찍기의 역삼각형으로 출력한다

 

 

출력해야할 라인의 넘버  i는 입력 N개이므로, for문을 사용하여 n번 반복해준다.

for (int i = 1; i <= N; i++) {
	/*
	각 라인마다 별을 출력하는 코드 여기에 작성
	*/
	cout << endl; //한 줄을 출력한 뒤에는 한 줄 내리기
}

 

기본 별찍기와 다른 점은 역삼각형 형태라는 것이다.

즉, 각 줄에 출력해야하는 별의 개수는 입력 N에서 해당 넘버 i를 뺀 것보다 하나 많다.

 

예를 들어 입력 N이 5일 때 4번째 라인의 별의 수는 N - i + 1 = 5 - 4 + 1 = 2가 되는 것을 알 수 있다.

이것을 다른 방식으로도 표현하면, 해당 넘버 i부터 N까지의 개수라고도 표현 할 수 있다.

위와 같은 예시로, 4번째 라인 일 때 입력 N인 5까지의 개수는 4, 5로 2개이다.

따라서 각 라인의 별을 출력하는 코드는 다음과 같다.

for (int j = i; j <= N; j++) {
	cout << "*";
}

 


 

[BOJ-2440.cpp]

#include <iostream>
using namespace std;

int main() {
	int N = 0;
	cin >> N;

	for (int i = 1; i <= N; i++) {
		for (int j = i; j <= N; j++) {
			cout << "*";
		}
		cout << endl;
	}
}
반응형

'Online-Judge > Baekjoon' 카테고리의 다른 글

[BOJ] C++ 2442번 별 찍기 - 5  (0) 2021.05.16
[BOJ] C++ 2441번 별 찍기 - 4  (0) 2021.05.15
[BOJ] C++ 2439번 별 찍기 - 2  (0) 2021.05.15
[BOJ] C++ 2438번 별 찍기 - 1  (0) 2021.05.14
[BOJ] C++ 2739번 구구단  (0) 2021.05.14

댓글