학습목표 재귀적인 문제 해결 방법 일반 재귀와 꼬리 재귀의 차이를 이해하는가? 여러분이 사용하는 프로그래밍 언어가 꼬리 재귀 최적화를 제공하는지 아니라면 왜 못하는지 학습하세요. 자바 / Nodejs / Golang 연결 리스트를 꼬리부터 머리까지 출력하는 코드를 작성하라. 재귀적인 문제 해결 방법 1) 반복되는 로직을 확인하여 작게 구분하여 재귀함수를 만든다 → 왠만한 반복문은 재귀함수로 작성 가능하다. 2) 종료조건을 명시한다. (f(0),f(1) 아 이게 종료조건이구나.) 장점 가독성이 좋음 코드가 짧음 각 단계의 변수 상태가 자동 저장됨. 코드 검증도 쉬움 단점 재귀적 문제 분석/설계가 안 직관적 맹목적인 믿음이 필요 스택 오버플로 발생 가능 함수 호출에 따른 과부하(모든 함수 호출에는 성능저하가..