본문 바로가기

잡담

알고리즘 공부가 필요성을 못 느끼는 이유와 알고리즘 공부가 필요한 이유

개발자 커뮤니티 사이트에서 글을 읽어보면 알고리즘 공부를 할 필요가 없다는 이야기가 많이 있다.

* 별찍기를 예로 들어보자

대학생의 경우 별 찍기를 for문으로

*

**

***

**

*

이런 식으로 찍는다고 한다.

 

반면에 경력자의 경우

System.out.println("*");

System.out.println("**");

System.out.println("***");

System.out.println("**");

System.out.println("*");

이렇게 찍는다고 한다.

 

실제 SI 프로젝트를 진행하면서 느끼고 있는 부분은 알고리즘이 필요한 경우는 거의 보지 못했다.

SI 특성상 데이터베이스에서 SQL문으로 데이터를 뽑아내기만 하는 경우가 대부분이기 때문이다.

SQL로 데이터를 뽑아내면 끝이기 때문에 알고리즘이라고 부를만한 난이도 있는 로직을 짜는 경우가 거의 없다.

그래서 나도 현재 알고리즘을 등한시하고 있다.

 

근데 일하다 보면 아주 가끔씩 로직이 복잡한 코딩을 해야 하는 경우가 나타난다. 이럴 때 알고리즘 공부를 안한 것을 후회하게 된다. 지금 같이 일하고 있는 부장님이 그런 케이스다. 경력도 20년이 넘고 컴퓨터 개념에 대한 지식은 많이 있지만 알고리즘은 손을 놓고 사셨다 보니 지금 상당히 힘들어하신다. 일정 안에 빨리빨리 개발을 해야 하는데 이게 과연 구현이 가능한지 알 수 없다 보니 잠을 제대로 못 주무신다고 한다.

 

이러한 사태를 맞이하고 싶지 않다면 가끔씩 두뇌운동을 한다고 생각하고 알고리즘 공부를 하면 좋지 않을까 하는 것이 나의 생각이다.