본문 바로가기
Online-Judge/Baekjoon

[BOJ] C++ 2442번 별 찍기 - 5

by nyangzzi 2021. 5. 16.
반응형

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

 

2442번: 별 찍기 - 5

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

www.acmicpc.net

 

 step 1. 만약 N이 5라고 한다면 출력해야하는 줄 i의 수는 0번 째 줄부터 4번 째 줄까지 총 다섯 줄이다.

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

 

step 2. 이때, 각 줄의 공백은 input N에서 i(현재 출력해야하는 줄의 넘버)를 뺀 수보다 1 작은만큼 출력해야한다.

for (int j = N - i -1; j > 0; j--) {
	cout << " ";
}

 

step 3. 출력해야하는 *의 수i(현재 출력해야하는 줄의 넘버)의 2배보다 하나 더 많다.

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

 

 

 

위의 조건을 코드로 구현하면 아래와 같다.


 

[BOJ-2442.cpp]

#include <iostream>
using namespace std;

int main() {

	int N = 0;
	cin >> N;

	for (int i = 0; i < N; i++) {
		
		for (int j = N - i -1; j > 0; j--) {
			cout << " ";
		}

		for (int j = 0; j <= (2 * i); j++) {
			cout << "*";
		}
		cout << endl;
	}
}

 

반응형

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

[BOJ] C++ 2444번 별 찍기 - 7  (0) 2021.05.16
[BOJ] C++ 2443번 별 찍기 - 6  (0) 2021.05.16
[BOJ] C++ 2441번 별 찍기 - 4  (0) 2021.05.15
[BOJ] C++ 2440번 별 찍기 - 3  (0) 2021.05.15
[BOJ] C++ 2439번 별 찍기 - 2  (0) 2021.05.15

댓글