jyamethyst21 님의 블로그
백준 2523번- '별 찍기 - 13' (PYTHON 풀이) 본문
문제:

오늘은 어제에 이어 별찍기 문제를 또 가지고 왔다. 별찍기 문제가 좀 재미있는 것 같다. 적당히 생각도 해야하고 코드도 간단하고!
시험 끝나면 더 어려운 문제를 풀도록 ...
.
.
이번 문제는 이전에 피라미드 문제를 풀었던 것을 생각하면 아주 쉽게 풀 수 있다. 관련 포스팅은 아래에 첨부하겠다.
https://jyamethyst21.tistory.com/108
백준 2446번- '별 찍기 - 9' (PYTHON 풀이)
문제:오랜만에 별찍기 문제를 가지고 왔다.역피라미드+피라미드 모양인데, 이번에도 역시 규칙을 찾아야 쉽게 풀 수 있다.필자는 쉽게 생각해서 앞서 말한 것처럼 역피라미드+피라미드 모양이
jyamethyst21.tistory.com
https://jyamethyst21.tistory.com/116
백준 2445번- '별 찍기 - 8' (PYTHON 풀이)
문제:다른 유형의 별찍기 문제를 가지고 왔다.조금 특이한 모양이긴 하지만 이전에 풀었던 별찍기 - 9를 참고하면 쉽게 풀 수 있다.https://jyamethyst21.tistory.com/108 우선 피라미드 + 역피라미드를 붙
jyamethyst21.tistory.com
위 문제보다 아주 쉬운 유형인 것 같은데, 우선 해당 문제는 공백을 찍을 필요가 없으므로 별을 찍는 규칙만 찾으면 된다.
우선 별이 1개에서부터 N만큼 커지다가 다시 1로 줄어드는 모습인데 이 경우 for문을 두개 써서 풀 수 있다.
1. 별 개수가 1부터 N이 되는 구간, 2. 별 개수가 N-1부터 1이 되는 구간 이렇게 두번으로 나눠서 풀어야 한다.
그래서 1번 방법을 풀 땐 별이 1번 찍히고 그 다음부터 +1 씩 찍히고 있으니 i를 1부터 시작해서 N까지 반복문을 돌면서 i만큼 별을 찍으면 된다.
반면 2번 방법을 풀 땐 별이 N-1부터 찍히고 그 다음부터 -1씩 줄어들며 찍히고 있으니 i를 N-1부터 시작해서 1까지 반복문을 돌면서 j만큼 별을 찍으면 된다.
풀이:
N = int(input())
for i in range(1, N+1):
print("*" * i)
for j in range(N-1, 0, -1):
print("*" * j)
위 설명을 그대로 코드로 작성하면 다음과 같다. 앞서 말한대로 두번으로 나누어서 반복문을 돌면 원하는대로 출력이 된다!
'CODING 💻' 카테고리의 다른 글
| 백준 3046번- 'R2' (PYTHON 풀이) (0) | 2025.12.14 |
|---|---|
| 백준 1259번- '팰린드롬수' (PYTHON 풀이) (0) | 2025.12.13 |
| 백준 10991번- '별 찍기 - 16' (PYTHON 풀이) (0) | 2025.12.11 |
| 백준 1439번- '뒤집기' (PYTHON 풀이) (0) | 2025.12.10 |
| 백준 2754번- '학점계산' (PYTHON 풀이) (0) | 2025.12.09 |
