알고리즘
[1. 순환(Recursion)] Recursive하게 생각하기
순환하는 알고리즘을 익숙하게 받아들이기는 쉽지가 않은 것 같다. 함수의 출력물이 함수라고 생각되기 때문이다. 순환 알고리즘을 생각하기 위해서는 '바로 직전 스텝에서의 함수의 출력물을 사용한다', 또는 '현재 스텝에서의 함수의 출력물을 바로 다음 스텝에서 사용한다'는 방식의 사고가 필요하다. 즉 brute force처럼 스텝별로 탐색하도록 설계하는 것이다. (1) 문자열의 길이 계산 def string_length(string): assert type(string) == str if string=='': # base case return 0 else: return 1 + string_length(string[1:]) # recursive case (2) 문자열의 프린트 def print_forward(st..