재귀함수를 이용한 별 출력

 

https://www.codetree.ai/missions/5/problems/star-output-with-recursive-function?&utm_source=clipboard&utm_medium=text 

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

 

1번째 N번째 줄까지 별 출력을 다음 모양으로 재귀함수를 이용해 출력하는 프로그램을 작성해보세요.

입력 형식

첫 번째 줄에 정수 N이 주어집니다.

  • 1 ≤ n ≤ 100

출력 형식

n개의 줄에 걸쳐 예제와 같이 별을 출력합니다.

 

입출력 예제

 

입력 

5

출력

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

 

 

 

 

 

내가 짠 코드


 

def print_star(n):
    if n==0:
        return
    print_star(n-1)
    print("*"*n)

n = int(input())

print_star(n)

기존에 했던 반복문을 통한 출력이 아닌 재귀함수로 구현하였다.

 

베이스 케이스는 n이 0이될때로 바로 리턴한다 ( 값을 리턴하지 않는 함수이므로)

그 후 다음 함수를 호출한다.

 

이번 함수는 1부터 n 까지 출력을 해야하므로 우선 함수 호출을 print_star(1) 까지 간 후에 다시 되돌아오며

print("*"*n)으로

출력을 실행한다.

 

주목해야할 것은 

print('*' * n) 은 '*' 출력을 n 번하라는 의미이다.

728x90

+ Recent posts