본문 바로가기
Online-Judge/Baekjoon

[BOJ] C++ 2443번 별 찍기 - 6

by nyangzzi 2021. 5. 16.
반응형

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

 

2443번: 별 찍기 - 6

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

www.acmicpc.net

 

2442번 별 찍기 - 5를 뒤집어 출력하는 문제이다.

 

[참고]

https://while1.tistory.com/entry/BOJ-C-2442번-별-찍기-5

 

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

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

while1.tistory.com

 


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

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

 

step 2. 이때, 각 줄의 공백 i(현재 출력해야하는 줄의 넘버)만큼 출력해야한다.

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

 

step 3. 출력해야하는 *의 수 input N에서 i(현재 출력해야하는 줄의 넘버)를 뺀 것의 2배보다 하나 더 적다.

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

 

 

 

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

 


[BOJ-2443.cpp]

#include <iostream>
using namespace std;

int main() {

	int N = 0;
	cin >> N;

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

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

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

[BOJ] C++ 1977번 완전제곱수  (0) 2021.05.17
[BOJ] C++ 2444번 별 찍기 - 7  (0) 2021.05.16
[BOJ] C++ 2442번 별 찍기 - 5  (0) 2021.05.16
[BOJ] C++ 2441번 별 찍기 - 4  (0) 2021.05.15
[BOJ] C++ 2440번 별 찍기 - 3  (0) 2021.05.15

댓글