[일상] 알고리즘 잡스 수강 후기 -3 (손진호 대표님 특강)

7/11 토요일 알고리즘 잡스를 시작한 지 오늘로 꼭 1주일 되는 날이다. 오늘은 알고리즘잡스 대표님의 특강이 있다고 한다. 특강 이전에 알고리즘 책도 주셨다. 알고리즘 잡스에서 만든 알고리즘 책이었는데 안에 내용이 괜찮아 보여 실제로 책을 시중에 낸다 해도 나름 잘 팔릴 거 같은 느낌을 받았다. 특강 방식은 YouTube를 통한 원격 강의였다. 온라인 강의를 많이 본 적이 있기에 나는 오프라인 강의보다 오히려 이러한 강의 방식이 더 귀에 잘 들어오는 것 같다. 

 

가끔씩 이렇게 특강이 있을 듯하다. 특강의 내용은 "회전판과 로봇"이라는 문제를 푸는 것인데 대표님이 문제를 어떻게 접근하는지, 설계를 어떻게 할 것인가와 어떠한 알고리즘이 필요한지, 필요한 알고리즘은 어떻게 구현할 것인지에 대한 설명을 해주셨다. 문제의 난이도가 처음에는 상당히 어려웠는데 설명을 듣고 나니 도전해볼 만하다고 생각되었다.

 

알고리즘을 잘하기 위해서는 문제가 주어졌을 때 어떠한 알고리즘이 필요한지 설계하는 능력과 필요한 알고리즘을 구현하는 능력 구현해놓은 알고리즘을 유기적으로 조합하는 능력이 골고루 필요한 것 같다. 손진호 대표님의 말로는 기업의 코딩테스트는 대부분의 이렇게 작은 문제들을 합쳐서 나온다고 하였다. 생각해보니 얼마전에 보았던 한국 조폐공사의 코딩 테스트도 여러가지 알고리즘을 조합해서 푸는 문제들이었지..

 

알고리즘 잡스가 Lv20까지 이루어져 있는 커리큘럼도 그렇게 이루어져 있는 이유가 어떤 문제는 Lv15와 Lv12를 합치면 풀 수 있고 어떤 문제는 Lv17과 Lv8을 합치면 풀 수 있는 등 모든 Lv을 완벽하게 이해하고 있으면 어떠한 문제든지 접근이 가능하다는 것이다. 그렇기에 어떤 Lv이든지 소홀히 해서는 안될 것 같다.

 

회전판과 로봇 문제 풀이

문제를 전부 공개하면 문제가 될것 같아 일부분만 캡처했다. 대략적인 문제를 설명하자면 가로 세로 맵이 있고 거기에 로봇이 있는데 그 로봇이 움직이면서 점수를 먹는데 로봇이 움직이는 방향과 움직이는 칸의 수는 회전판을 이용해서 결정되는 그런 문제였다. 회전판을 시계방향, 반시계 방향으로 돌릴 수도 있고 장애물(-1)이나 맵을 벗어나면 그 자리에 멈춰야 하는 알고리즘도 구현했어야 했기에 푸는데 시간이 많이 걸렸다.

 

강의가 끝난 뒤 실제로 문제를 풀 수 있게끔 해주셨는데 위와 같이 회전판과 로봇을 풀기 위해 만들어야 하는 여러 가지 알고리즘을 차례대로 만들어보고 문제를 풀 수 있게끔 되어 있었다. 처음부터 회전판과 로봇이라는 문제를 풀었다면 아마 풀기가 굉장히 어려웠을 것이다. 하지만 먼저 여러 가지 알고리즘을 먼저 구현해보고 그다음 구현해 놓은 알고리즘들을 합치는 방향으로 문제를 풀어보니 문제의 난이도가 쉬워진 듯한 느낌이었다. 이렇게 여러가지 알고리즘으로 이루어져 있는 문제는 여러가지 알고리즘을 나누어 차근차근 푸는 것이 문제의 체감 난이도를 줄일 수 있는 중요한 팁인 것 같다.

댓글(0)

Designed by JB FACTORY