본문 바로가기
알고리즘

[Python] 백준 2446번: 별 찍기 -9

by 내 코딩 2023. 2. 21.
반응형

코드

n = int(input())

for i in range(1, n + 1):
    a = ' ' * (i - 1) + '*' * ((2 * (n - i) + 1))
    print(a)
for j in range(1, n):
    b = ' ' * (n - j - 1) + '*' * ((2 * j) + 1)
    print(b)

설명

작아졌다가 다시 커지는 모양으로 나와야한다.

작아지는 부분은 공백을 늘리고 *은 줄이는 방법으로 (i-1)을 통해 처음에는 빈 공백에서 점차 늘려간다.

'*'은 n-1을 해주고 2배 늘린 값에 1을 더해 대칭을 위해 홀수로 만들어 준다.

마지막 한개까지 출력을 해준 후

두번째 for문에서 (1부터, n까지)범위를 지정하여 4번만 반복한다.

공백은 n-j에 -1을 더 빼서 공백을 맞춰준다.

'*' 2*j에 +1을 더해서 홀수로 만들어준다.

 

댓글