Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬으로 별(*)을 이용해 계단 모양의 삼각형 만들기

숫자 n이 주어졌을 때, n개의 단계를 가진 계단 모양 문자열을 만드는 문제입니다. 이때 각 줄은 줄바꿈(newline) 문자로 구분됩니다.

예를 들어 입력값이 n = 5라면 출력 결과는 다음과 같습니다.

         *
        **
      ***
    ****
  *****

해결 방법

이 문제는 다음 단계를 따라 해결할 수 있습니다.

  • 빈 문자열 s를 초기화합니다.
  • i가 0부터 n-1까지 반복하면서:
    • s에 공백 (n-i-1)개와 별표 '*' (i+1)개를 이어 붙입니다.
  • 마지막 줄(i = n-1)을 제외한 각 줄 뒤에는 줄바꿈 문자 '\n'을 추가합니다.
  • 완성된 문자열 s를 반환합니다.

그럼 실제 구현 예시를 통해 자세히 살펴보겠습니다.

예제 코드

class Solution:
   def solve(self, n):
      s = ""
      for i in range(n):
         s += " "*(n-i-1) + "*"*(i+1)
         if i < n-1:
            s += "\n"
      return s

ob = Solution()
print(ob.solve(5))

입력

5

출력

        *
       **
     ***
   ****
 *****

위 코드에서 핵심 로직은 각 행마다 왼쪽에 채워야 할 공백 개수와 오른쪽에 찍어야 할 별표 개수를 규칙적으로 계산하는 것입니다. i번째 줄에서는 공백이 (n-i-1)개, 별표가 (i+1)개 필요하므로 파이썬의 문자열 곱셈 연산을 활용하면 간단하게 구현할 수 있습니다. 이러한 패턴 출력 문제는 반복문과 문자열 조작 능력을 기르기 좋은 대표적인 연습 문제입니다.