ki hyun's 개발블로그

알고리즘 공부를 시작하며 본문

알고리즘

알고리즘 공부를 시작하며

leekihyun 2022. 5. 30. 20:19
반응형

알고리즘을 공부하려는 이유

먼저 알고리즘을 공부하려고 마음먹은 계기는 내가 만드는 프로그램들을 유지 보수하면서부터 시작됐다. 나는 전형적인 P이기 때문에 개발을 할 때도 큰 계획 없이 그때그때 구현하고 싶은 기능을 빠르고 생각 없이 구현했다. 이런 식으로 생각 없이 만든 코드가 늘다 보니 여러 문제가 생기게 되었는데...

1. 프로그램의 속도가 느려진다.

별 생각 없이 코드를 짜다 보면 코드의 효율성과 속도는 딱히 신경 쓰지 않고 진행하게 된다. 처음에는 별문제가 없어 보이지만 프로젝트를 완성하고 보면 X 같은 최적화에 엄청난 속도를 보여주는 프로그램을 만날 수 있었다.

2. 내 코드가 왜 작동하는지 모른다.

아무 생각없이 코드를 짜는 나

아무 생각 없이 코드를 작성하다 보니 이 코드가 왜 작동하는지도 모른 채 그저 작동하는 코드만을 만들어냈다. 이 코드가 왜 작동하는지를 모르는 경우가 많았고 어려운 기능을 구현할 때면 바로 관련 라이브러리를 찾아보는 거나 Stack overflow에서Stackoverflow에서 복사해 붙여오는 것이 일상이 되어서 이 코드가 왜 동작하는지 전혀 알지 못하였다.

물론 왜 동작하지 않는지도 몰랐다..ㅎ

아, 너 개발자라고? 그 말은 너 스택오버플로에서 코드 배껴쓴다는뜻이지? 너 지금 우리 업계사람들 전체를 모욕하고 있다는거 아냐? 그치만 맞아.ㅡㅡ

3. 유지보수가 매우 힘들다.

첫 프로젝트를 완성하고 몇 개월 후 프로그램에서 에러가 발생하여 버그를 고쳐야 하는 일이 있었다. 몇 개월 전에 작성한 나의 코드를 보니 정말 한심하기 그지없었다. 프로젝트 구조는 엉망으로 되어있고 코드도 어디 블로그에서 복사해온 코드들이 난잡하게 흩어져있어 내가 작성한 코드임에도 불구하고 단 하나도 알아볼 수가 없었다. 결국 에러의 원인을 찾아내어 고치긴 했지만 다신 그 프로젝트에 손도 대기 싫을 정도로 유지보수가 힘들었다.

4. 결론

이러한 이유로 인하여 나는 내 코딩 실력의 심각성을 느끼게 되었고 이 문제를 해결하기 위해 여러 방법을 찾던 중 여러 책을 발견하였다.

1. Introduction to Algorithms

알고리즘에 관해서는 권위 있는 입문서라고 한다. 국내외 여러 대학에서도 교재로 쓴다고 하는 것을 보고 바로 구매하게 되었다.

물론 중학교 수학도 다 못 배운 나한텐 더럽게 어렵다.

2. 프로젝트가 서쪽으로 간 까닭은

제목부터 마음에 들었다.

이 책들을 찾고 나서 바로 2권 모두 구매하고 싶었지만 Introduction to Algorithms은 무려 47,000씩이나 하는 비싼 책이였기 때문에 Introduction to Algorithms만 먼저 구매하기로 했다.

결론

  1. 이제부턴 무작정 새로운 기술을 배우고 무언가를 만들어보는 것을 넘어 컴공의 기초를 쌓는 공부를 해야겠다고 생각했다.
  2. Introduction to Algorithms을 읽고 TIL을 시작하자 (최소 하루 5장씩)
반응형

'알고리즘' 카테고리의 다른 글

퀵 정렬의 성능  (0) 2022.05.30
퀵 정렬  (0) 2022.05.30
우선순위 큐?  (0) 2022.05.30
Bio-O-Notation(점근 표기법)은 무엇인가?  (0) 2022.05.30
힙 정렬에 대해 알아보자  (0) 2022.05.30
Comments