[백준/입출력] - 10992 별 찍기 17 (Python)

밀루·2023년 3월 28일
0

BOJ

목록 보기
12/43

문제 링크

코드

n=int(input())
for i in range(1, n+1):
    if i==n:
        print("*" * n, end='')
        print("*" * (n-1))
    else:
        print(" " * (n-i) + "*" + " " * (i-1), end='')
        if i != 1:
            print(" " * (i-2) + "*")
        else:
            print()

좀 복잡한 게 푼 거 같다..

다른 사람 풀이

n = int(input())
for i in range(1, n+1):
    if(i==1 or i==n):
        print(" " * (n-i) + "*" * (2*i-1))
    else:
        print(" " * (n-i) + "*" + " " * (2*(i-1)-1) + "*")

오, 1과 n을 조건문에 넣는 건 생각 못했다. 효율적인 코드를 짜기 위해 많이 노력해야할 것 같다.

profile
이밀루의 도전

0개의 댓글