Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
백준 2443번- '별 찍기 - 6' (PYTHON 풀이) 본문
문제:

새로운 유형의 별찍기 문제이다. 별모양은 역피라미드이다.
예전에 피라미드+역피라미드 모양의 별찍기 유형을 푼 적이 있어서, 그때 역피라미드 모양 코드를 생각하면서 풀면 쉬울 것 같다.
풀이:
N = int(input())
b = 0
for i in range(N*2-1, 0, -2):
print(" " * b + "*" * i)
b += 1
이전 유형에서 풀어서 그런지 정말 빨리, 쉽게 풀었다.
우선 공백을 찍어줄 변수 b를 0으로 선언해준다. 0으로 해주는 이유는 첫번째 줄은 'N * 2 - 1' 만큼 별이 찍히는데 이때는 공백은 따로 안찍히기 때문이다.
그 다음줄부터 공백의 수가 1개씩 증가하기 때문에 초깃값은 0, 반복문에서 1씩 증가하는 코드를 작성했다.
반복문 내부를 살펴보면 앞서 말한 것처럼 첫번째 줄은 'N * 2 - 1' 만큼 별이 찍히기 때문에 시작값을 N * 2 - 1로 지정하고 마지막 줄의 별은 1개이므로 1개가 찍힐 수 있게 종료값은 0으로 설정한다. (0으로 설정해야 1까지 반복함) 그 후 증감값은 -2로 설정해서 별의 개수를 2개씩 줄이도록 한다. 그리고 공백값인 b를 1씩 증가해주면 예제 출력처럼 역피라미드 모양의 별이 찍힌다!
아 참고로, '별은 가운데를 기준으로 대칭이어야 한다.' 라는 문장은 print문에서 공백 + 별 개수 찍는 순서로 작성해야 한다는 의미이다. 별 개수 + 공백 순으로 적는다면 당연히 왼쪽 공백이 없는 모양의 별이 찍힌다. 이 점을 참고해서 풀면 좋겠다!
'CODING 💻' 카테고리의 다른 글
| 백준 5543번- '상근날드' (PYTHON 풀이) (0) | 2025.12.03 |
|---|---|
| 백준 1009번- '분산처리' (PYTHON 풀이) (0) | 2025.12.02 |
| 백준 1463번- '1로 만들기' (PYTHON 풀이) (0) | 2025.11.30 |
| 백준 7287번- '등록' (PYTHON 풀이) (0) | 2025.11.29 |
| 백준 5585번- '거스름돈' (PYTHON 풀이) (0) | 2025.11.28 |
