728x90
728x90
문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
예제 입력 1
5
예제 출력 1
* *** ***** ******* ********* ******* ***** *** *
알고리즘 분류
- 구현
문제 출처
https://www.acmicpc.net/problem/2444
2444번: 별 찍기 - 7
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
www.acmicpc.net
문제 해결 방법
- [단계별로 풀어보기] 문제집에 새로 추가된 문제이다.
- 각 줄(
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 |