728x90
728x90
문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
예제 입력 1
5
예제 출력 1
*
***
*****
*******
*********
*******
*****
***
*
알고리즘 분류
- 구현
문제 출처
https://www.acmicpc.net/problem/2444
문제 해결 방법
- [단계별로 풀어보기] 문제집에 새로 추가된 문제이다.
- 각 줄(@row@)마다 공백의 개수와 별(*)의 개수가 어떻게 변하는지 분석하여 풀어야 하는 문제이다.
코드
#include <iostream>
using namespace std;
int N;
void Input() {
cin >> N;
}
void Solution(int n) {
int a, b, c, d;
for (int row = 1; row < n * 2; row++) {
// up
if (row <= n) {
for (a = 1; a <= n - row; a++) cout << ' ';
for (b = 1; b <= (2 * n) - (2 * a) + 1; b++) cout << '*';
cout << '\n';
}
// down
else {
for (c = 1; c <= row - n; c++) cout << ' ';
for (d = 1; d <= (2 * n) - (2 * c) + 1; d++) cout << '*';
cout << '\n';
}
}
}
void Output() {
Solution(N);
}
void Solve() {
Input();
Output();
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
Solve();
return 0;
}
채점 결과
참고
- [단계별로 풀어보기] > [심화 1]
- 브론즈III
728x90
728x90
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ-27866][C++] 문자와 문자열 (0) | 2023.03.11 |
---|---|
[BOJ-25206][C++] 너의 평점은 (0) | 2023.03.01 |
[BOJ-10988][C++] 팰린드롬인지 확인하기 (0) | 2023.03.01 |
[BOJ-10812][C++] 바구니 순서 바꾸기 (0) | 2023.03.01 |
[BOJ-11718][C++] 그대로 출력하기 (0) | 2023.02.23 |
[BOJ-10811][C++] 바구니 뒤집기 (0) | 2023.02.23 |
[BOJ-10813][C++] 공 바꾸기 (0) | 2023.02.23 |
[BOJ-10810][C++] 공 넣기 (0) | 2023.02.23 |