본문 바로가기
ETC/독후감

읽은 책 소감 - 수학귀신

by Nahwasa 2021. 11. 6.

  

  알고리즘 풀 때, 알고리즘 해설을 블로그에 작성할 때 증명적인 면이 너무 부족한 것 같다. 특히 수학 관련 알고리즘 문제를 푸는데 어려움이 있다. 뭐 기업 코테같은 것에선 큰 수학적 지식을 요구하진 않으니 현재의 수준으로도 딱히 상관없는 부분이지만, 애초에 알고리즘은 취미로 하고있었고 앞으로도 꾸준히 할테니 수학적 지식이 필요하다(개인만족을 위해!). 물론 코드를 외워서 따라하는건 할 수 있다. 하지만 난 암기보단 이해를 하고싶다.

푼 문제 분류에서도 확연하게 보여짐 ㅠ

 

 

  예를들어 이런거다. 에라토스테네스의 체를 구현할 때 최적화를 위해 입력 숫자(n)의 제곱근(sqrt(n)) 까지만 확인한다. 이걸 이해해서 사용하기 전까지는 암기해서 사용하게 된, 어쩌다가 발견한 시간복잡도를 줄일 수 있는 정보였다. 하지만 중간에 한번 증명과정을 이해했고, 그 뒤로는 암기한 정보가 아니라 이해하고 당연하게 사용하는게 된 내 지식이 됐다.

에라토스테네스의 체에서 sqrt(n) 까지만 확인하면 된다는 부분에 대한 증명

 

 

  물론 뭐 내가 수학과도 아니고, 수학자는 더더욱 아니다. 개발자로써 너무 수학적으로 멀리까지 가고싶은 바램까진 없지만, 일반적으로 알고리즘에서 많이 사용하는 CCW, Extended Euclidean Algorithm 같은 것들은 그래도 암기가 아니라 이해하고 써보고싶다.

 

  개발자 입장에서 OO 프로그래밍 언어를 뭐부터 어떻게 배울까? 라고 하면 대강 뭘 해야 익힐 수 있을지 각이 잡힌다. 근데 수학을 배우자니 각이 안잡힌다. 애초에 너무 광범위하기도 하고 뭐부터 시작해야할지 모르겠다. 그래서 수학 잘하는 동생(형같은)에게 물어보니 '수학귀신'을 추천해줬다. 일단 '수'라는거랑 좀 더 친해지라는 의미다. 실제로도 수식 많은 무언가를 보면 일단 겁먹는 느낌이 드니 확실히 좋은 추천이었다.

 

  이 책은 초등학교 추천서로 들어가 있는걸로 알고있다. 그만큼 최대한 어려운 부분 없이 흥미 유발 위주로 되어 있는 것 같다. 다만 그만큼 증명적인 측면은 아예 들어있지 않아서(왜 그렇게 되는건지) 사실 보는동안 가려운곳이 안긁힌 느낌이라 아쉽기도 했다. 흥미 유발의 측면에서도, 애초에 개발자가 수학공부를 해보고 싶다니 흥미가 없으면 안들만한 생각이다. 즉 이 책에서 유발하는 흥미보다는 기존 내 흥미가 더 컸으므로 크게 변화가 생긴 느낌은 안든다. 그래도 나중에 자녀가 생기면 읽혀주고싶긴하다.

댓글