백준 2444번 '별 찍기 -7' - [Python] 중복For

림민지·2025년 2월 23일

🔗 https://www.acmicpc.net/problem/2444

#️⃣ 2444번

문제

예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.

입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

출력

첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.


✏️ 풀이

별이 1개~2N-1개 로 순서대로 찍혀야한다.
모양을 반으로 나눠서 생각해보자.
1개 ~ (2
N-1)개까지 1파트
2개 ~ (N*2-1)개까지 2파트

빈칸과 *을 개수에 맞추어 출력하면 된다
이때 end='' 을 활용하면 엔터 없이 문자들을 붙여서 한줄로 프린트할 수 있다.

그러면 이런식으로 1파트의 코드를 for문을 활용해서 적을 수 있다.

for i in range(1, N+1) :
    for j in range(N, i, -1):
        print(" ", end="")
    for k in range(i*2-1) :
        print("*", end='')
    print()

같은 로직으로 이제 줄어들게 만들면 된다.

for i in range(1, N) :
    for j in range(i) :
        print(" ", end='')
    for k in range((N-i)*2-1) :
        print("*", end='')
    print()     

🔮 전체 코드

# 별 찍기 -7

N = int(input())
for i in range(1, N+1) :
    for j in range(N, i, -1):
        print(" ", end="")
    for k in range(i*2-1) :
        print("*", end='')
    print()

for i in range(1, N) :
    for j in range(i) :
        print(" ", end='')
    for k in range((N-i)*2-1) :
        print("*", end='')
    print()        
profile
@lim_128

0개의 댓글