병합정렬 시 재귀함수의 이해

송유나·2021년 1월 11일
0

[📝일기]

'모두의 알고리즘 with 파이썬' 책으로 병합정렬을 공부하다가 난관을 마주쳤다.
재귀함수를 이해했다고 생각했는데 아니었던 것..ㅠ

병합정렬이 어떻게 진행되는지는 이해했지만 그 과정 중에서 재귀함수가 어떻게 동작하는지 전혀 진짜 전혀 감이 오지 않았다.

책에 적힌 코드와 설명만으로는 전혀 이해가 되지 않아서
구글에 검색했고 그마저도 안돼서 유툽을 찾아봤다.
이 과정에서 고작 함수 하나때문에 몇시간을 생각하고 고민하는 날 보며 난 정말 바보인가부터 시작해서 끝없는 자기비난의 구렁텅이에 빠졌다.
다른사람들은 다 잘하는데 나만 못하는 것 같은 느낌, 이쪽 공부를 시작하는게 잘못된 선택이었나 하는 고민까지 해버렸다.
이 쉬운 책이 나한텐 왜 이렇게 어려울까..

그래도 했다. 혼자 그림을 그리고 글씨를 쓰고 지우고 다시써가며 이해했다. 고민하고 괴로워하다가 갑자기 해결책 또는 아이디어가 팍 떠오르는 그 순간의 짜릿함은 잊을 수 없다. 그렇게 암튼 난 해냈고 너무 어려워서 열받고 더 집중하느라 한겨울에 따뜻한 방구석에서 땀흘리는 경험도 해봤다.

비록 오늘 나의 목표했던 양을 해내진 못했지만 대충대충 목표량만 채우는 것보다 하나를 제대로 알고 배웠다는 사실이 나에게 더 값어치 있다는 것을 잊지 말자.


[📖공부 노트📖]

  • PART: 병합정렬

  • 문제: 병합정렬 과정 중 재귀함수의 이해 부족

  • 해결과정: 책 읽기, 코드 분석, 그림으로 표현, 구글 검색, 유튜브 검색

  • 원인: 재귀함수의 진행 과정을 제대로 이해하지 못했다. 재귀함수에서 return이 담고 있는 의미와 그 이후의 코드 진행과정을 제대로 알지 못했기 때문에 발생한 문제였다.

  • 결과
    이해하고 난 다음 얻은 깨달음: 내가 멍청한게 맞구나+근데 재귀 별거 아니네+다른 것도 뭐든 할 수 있을 것 같은 근자감
    코드: '모두의 알고리즘 with 파이썬 100page'


  • 다음에 내가 다시봐도 빨리 이해할 수 있도록 정리해봤다.
    나도 할수있다ㅠㅠ언젠가 내가 재귀코드를 자유롭게 작성할 수 있는 날이 오도록 열공할거다🔥🔥🔥

  • 갤럭시탭 사길 잘했다. 종이에 그리면 볼펜으로 선 하나만 잘못그어도 심란한데 갤탭은...환상이다💖

profile
개발자를 꿈꾸는 햇병아리입니다.

0개의 댓글