문제 : 별 찍기 - 2(2439번)(Bronze IV)
문제 링크 : https://www.acmicpc.net/problem/2439
출처 : Baekjoon Online Judge
별 찍기 - 1에서는 그냥 단순하게 i번째 루프일 때 "*"를 i번 반복 출력하면 끝나는 문제입니다.
하지만 이 문제는 조금 생각해야 합니다.
자, 이제 이 문제는 Bronze V가 아닌 Bronze IV라서 조금 더 생각해야 합니다.
우선 n = 5일 때 총 5개의 루프가 존재합니다.
1번째 루프 : " " 4개 + "*" 1개
2번째 루프 : " " 3개 + "*" 2개
3번째 루프 : " " 2개 + "*" 3개
4번째 루프 : " " 1개 + "*" 4개
5번째 루프 : " " 0개 + "*" 5개
이것을 통해 i번째 루프일 때 규칙을 발견할 수 있습니다.
i번째 루프 : " " (n - i)개 + "*" i개
이 규칙을 바탕으로 C++로 구현합니다.
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
for(int i = 1; i <= n; i++) {
for(int j = 0; j < n - i; j++) cout << " ";
for(int j = 0; j < i; j++) cout << "*";
cout << "\n";
}
return 0;
}
여기서 i는 루프 번호이며 j는 반복 횟수를 의미합니다.
이 때 개행 문자(\n)는 잊지 말아주세요.
이것을 Python으로 구현하면 다음과 같습니다.
import sys
input = sys.stdin.readline
N:int = int(input().rstrip())
for i in range(1, N+1, 1) :
print(" " * (N - i) + "*" * i)'(구) solved ac class 문제들 > class 1' 카테고리의 다른 글
| [class 1]백준 A + B - C(31403번) 풀이 (C++/Python) (0) | 2026.04.16 |
|---|---|
| [class 1]백준 숫자의 합(11720번) 풀이 (C++/Python) (0) | 2026.04.16 |
| [class 1]백준 문자와 문자열(27866번) 풀이 (C++/Python) (1) | 2026.04.14 |
| [class 1]백준 새싹(25083번) 풀이 (C++/Python) (0) | 2026.04.13 |
| [class 1]백준 아스키 코드(11654번) 풀이 (C++/Python) (0) | 2026.04.12 |