본문 바로가기
Programming/C++ - 백준

[백준] 2522번 : '별 찍기 -12' - (C++)

by 지구코드 2023. 4. 19.
반응형


문제


풀이

아래 문제의 풀이를 활용하여, 중첩 for문과 if문을 이용해 해결했다.
 

삼각형 두 개가 붙어있는 모양의 이등변 삼각형이기 때문에 n번째 줄을 기준으로 두 개의 for문을 만들었다.

 

첫 번째 줄부터 n 번째 줄까지의 for문은 다음과 같다.

 

	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n - i; j++) {
			cout << " ";
		}
		
		for (int k = 1; k <= i; k++) {
			cout << "*";
		}

		cout << endl;
	}

n + 1 번째 줄부터 2 x n - 1 번째 줄까지의 for문은 다음과 같다.

 

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

		for (int k = n; k > i - n; k--) {
			cout << "*";
		}

		cout << endl;
	}

코드

#include <iostream>
using namespace std;

int main() {
	int n;
	cin >> n;

	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n - i; j++) {
			cout << " ";
		}
		
		for (int k = 1; k <= i; k++) {
			cout << "*";
		}

		cout << endl;
	}

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

		for (int k = n; k > i - n; k--) {
			cout << "*";
		}

		cout << endl;
	}
}

결과

 

 

2522번: 별 찍기 - 12

첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.

www.acmicpc.net

 

반응형

댓글