agencies

[CodeUp] 3122 : 마름모 출력하기 2 본문

Ⅰ. 프로그래밍

[CodeUp] 3122 : 마름모 출력하기 2

agencies 2024. 4. 7. 13:41

 

num=int(input())

for i in range(0, num*2-1):

    for j in range(0, abs(num-i-1)):
        print(" ",end="")

    for j in range(0, (num-abs(num-i-1))*2-1):
        print("*",end="")
        
    print()

 

 

0 부터 num*2-1 까지의 범위를 정합니다.

이것은 마름모의 높이가 됩니다.

 

 

for j in range(0, abs(num-i-1))

공백을 출력하는 반복문으로 num-i-1은 현재 줄에서 출력을 해야 되는 빈칸의 개수를 정합니다.

abs 함수는 절대값을 만드는 함수로 음수를 양수로 변환해줍니다.

 

따라서 3이 입력되는 경우

abs(3-0-1) : 2

abs(3-1-1) : 1

abs(3-2-1) : 0

abs(3-3-1) : -1 => 1

abs(3-4-1) : -2 => 2

 

 

하단의 반복문 for j in range(0, (num-abs(num-i-1))*2-1)은 별을 출력하는 반복문으로

현재 줄에서 출력해야 할 별의 개수를 정합니다.

 

(3-abs(3-0-1))*2-1 = 1*2-1 = 1

(3-abs(3-1-1))*2-1 = 2*2-1 = 3

(3-abs(3-2-1))*2-1 = 3*2-1 = 5

 

'Ⅰ. 프로그래밍' 카테고리의 다른 글

[CodeUp] 1382 : GuguClass  (0) 2024.04.16
[Codeup] 1371 : 마름모 출력하기  (0) 2024.04.16
[CodeUp] 1282 : 제곱수 만들기  (0) 2024.04.07
[CodeUp] 1174 : 30분전 (if는 아직...)  (0) 2024.04.06
[CodeUp] 1284 : 암호 해독  (0) 2024.04.06