알고리즘 문제 풀기에 관해 느낀 점

Steve·2021년 5월 18일
0

회고

목록 보기
7/12

최근 아침마다 알고리즘 문제를 풀었는데, 다섯에서 여섯 문제 정도 풀고 나서 느끼는 것은 이걸 푸는게 지금은 큰 의미가 없다는 것이다.
알고리즘 개념을 먼저 공부하고 나서 문제를 풀어야 의미가 있지, 전 세계의 대학 교수들과 과학자들이 오랜 시간과 노력에 걸쳐 만든 수많은 알고리즘 중 하나를 1시간 안에 스스로 깨우쳐서 문제를 푼다는게 사실 말도 안되는 일이다. 그걸 풀겠다고 시간을 보내는 것은 그냥 시간 낭비라고 느꼈다. 예를 들면 미적분을 사용해야 하는 수학 문제를 미적분을 모른 체 미적분 개념을 스스로 깨우쳐서 풀려고 하는 것이랑 같다. 내가 천재라서 누가 가르쳐주지 않아도 개념을 스스로 유도해서 정립하고 응용할 수 있는게 아닌 이상, 그리고 나는 내가 그런 부류의 사람이 아니라는걸 정확히 알기에, 1시간을 쓰던 2시간을 쓰던 10시간을 쓰던 못푸는건 똑같고, 이건 시간을 버리는 어리석은 짓이다. 안풀리는 어려운 수학 문제를 오래 잡고 있어 봐야 달라지는건 없는거랑 같다.

새로운 사고방식은 새로운 길을 거칠게 파내는 것이다. 거칠게 파내야만 물의 방향을 바꿀 수 있다. 기존에 흐르던 물이 바람 좀 분다고 방향이 바뀌지 않는다. 안풀리는 문제를 오래 붙잡고 있는 것은 손으로 강물을 바꾸려고 하는 것이다. 이것은 천재가 아닌 이상 자연적으로 안된다. 풀이를 보고 새로운 사고방식을 배우는 것은 인위적으로 사고의 흐름에 확장 공사를 하는 것과 같다. 그제서야 비로소 강물을 내가 원하는 방향으로 흐르게 할 수 있다.

따라서, Toy Problem 시간에는 머리를 싸매면서 문제를 스스로 풀려고 하기 보다는, 문제를 이해하고, 어떻게 풀지 간략하게 생각해본 다음, 풀이를 보고 따라해 보거나, 혹은 풀이가 너무 복잡해서 이해가 안되는 경우 코드의 베이스가 되는 수학이나 알고리즘 개념에 대해 공부하는 시간을 갖는 것이 시간을 더 효율적으로 보내는 것이라는 느낌이 든다.

profile
게임과 프론트엔드에 관심이 많습니다.

0개의 댓글