F#에서는 recursive function이 while과 for과 같은 loop을 대체 한다고 하셨다. 예전에 강의했을 때 누군가가 recursive function을 사용하는 것과 loop을 사용하는 것의 차이를 물어봤던 게 어렴풋이 생각났다. 내가 제시한 코드가 loop으로도 할 수 있는 거였는데 굳이 recursive function을 써야 하는지 같은 거였다. 나는 함수에서 recursive 하게 한 번 호출하는 건 loop으로 바꿀 수 있고, 지금이 그런 경우지만, 예를 들어 merge sort처럼 recursive 한 호출을 두 번 이상 해야 하는 경우는 loop으로 해결할 수 없다는 식으로 대답했던 거 같았다. 그러다가 봄 초급 divide & conquer 강의할 때 맨 마지막에 했던 말..