리그캣의 개발놀이터

[python] 우측에 삼각형 쌓기 본문

알고리즘

[python] 우측에 삼각형 쌓기

리그캣 2019. 3. 12. 18:42

시간이 잠깐 남아 다음 문제를 풀어보았다.


Pyramid(6) 이라고 입력시

     #
    ##
   ###
  ####
 #####
######

다음과 같은 출력을 요구한다.

위에 삼각형이 이상하게 보이겠지만.


첫 줄은 공백5개 #하나

두번째 줄은 공백4개 $ 두개 ... 이런식으로 쌓는 문제이다.


Pyramid() 라고 함수를 정의하였고 해당함수에 숫자를 넣어 그만큼의 삼각형을 만들면된다.


Pyramid(9) 라고 입력하면 다음과 같은 출력이 있어야 한다.



Pyramid(num)

이를 파이썬으로 구상하여야 한다.


먼저 줄만큼 출력을 해야 하니 첫번째 for 문은 num만큼의 반복이 이루어져야 한다.


그리고 list = [] 를 선언해주고 


첫번째 반복에서는 num -1만큼의  공백을 append 해주자.

그리고 이어서 #이 한번 나와야 하니 1만큼의 #이 출력되어야 한다.


두번째 반복에서는 num-2 만큼의 공백을 append 해주고

이어서 #이 두번 나와야 하니 2만큼의 #이 출력되게 해주어야 한다. 


여기서 규칙을  발견한 분들이 있을 것이다.

이 규칙을 살려 파이썬을 구현하면 다음과 같이 구성가능하다.


def Pyramid(num):

for i in range(1,num+1):

list=[]

for j in range(num,i,-1):

list.append(" ")

for j in range(i):

list.append("#")

print(''.join(list))
Pyramid(9)


Comments