알고리즘 공부는 책으로만 해서, 실질적으로 코드를 다루어보지 못하고 대강의 개념만 알고 있는 사람들이 많은 것 같다. 그런 사람들 중 대부분이 애당초 이쪽에 흥미가 없는 사람들이겠지만, 정말 정보력이 떨어져서 흥미가 있음에도 불구하고 배운 것을 활용하지 못하는 사람들이 있을까 싶어 정리해놓은 것들을 올린다.
알고리즘 역시 기술이며, 많이 쓸수록 숙달되며 응용해서 사용할 수 있다. 또한 기술이기 때문에 타고날 수도 타고나지 않을 수도 있다. 그것을 극복하는 게 노력이겠지만... 아무튼, 필자는 개인적으로(정확히 말하자면 필자가 봤던 책에서, 주변에서의 이야기에 따르면), 알고리즘 역시 시험 공부 하듯 여러 유형의 문제를 다양하게 풀고 다루면서 실력을 늘려나가는 쪽이 맞다고 생각한다. 이를 적절히 실전에서 얼마나 잘 적용할 수 있을지에 대한 문제는 따로 다루어야 겠지만, 당장 해당 알고리즘을 얼마나 습득했으며 응용할 수 있는지를 판단할 수 있는 지표는 알고리즘 대회 사이트에서 제공하는 문제들을 풀어보는 것이 가장 확실하다.
그럼 도대체 어떻게 문제를 풀어볼 수 있는가?
알고리즘 문제를 풀 수 있는 사이트는 해외에만 있지 않다. 주기적으로 대회를 열어서 레이팅을 매기는 사이트는 해외에만 있지만, 한국에서도 ACM-ICPC, 지역별 정보 올림피아드, 대학별 알고리즘 대회 문제 등, 여러 가지 유형의 문제들을 모아놓고 채점 기능을 지원하는 사이트가 여럿 존재한다.
국내
알고스팟
-> 전역 대회가 아닌 문제들이 다수이며, 대회도 종종 열림.
백준 온라인 저지
-> 필자가 현재 이용 중이며, 국내에서는 가장 큰 규모의 온라인 저지 사이트인 듯
-> 온라인 대회가 종종 열리며, 선데이 코딩(http://sundaycoding.xyz)이라는 사이트로 정기적인 대회를 개최할 계획임. 현재는 베타 테스트 중이며, 넥슨에서 후원.
정올
-> 정올 문제가 다수
더블릿
-> 난이도별로 문제 분류가 되어 있는 편
코드업
-> 백준과 유사해 보이며, 필자는 이용해본 적이 없음.
오일러 프로젝트
-> 프로젝트 오일러 사이트의 한국어 버전
해외
탑코더
-> 이와 관련된 책이 있을 정도로 많은 프로그래머들이 알고리즘으로 자웅을 겨루는 곳으로, 필자도 궁극적으로 탑코더 진출을 목표로 하고 있으며, 정기적으로 대회가 열림. 백준 온라인 저지에서 탑코더 등급이 있는 유저에게는 아이디에 등급에 맞는 컬러를 입힘.
코드포스
-> 탑코더처럼 정기적인 대회가 열리며, 컬러로 등급을 나눔. 탑코더와 마찬가지로 백준 온라인 저지에서는 코드 포스 등급이 있는 유저에게 등급에 맞는 컬러를 입힘.
구글 코드잼
-> 한 번씩 크게 대회를 여는 방식에 가까우며, 구글에서 관리. 참가비나 참가자격 등이 존재하지 않는 것은 똑같기 때문에, 예선전 같은 것은 경험삼아 해보는 것도 나쁘지 않음.
https://code.google.com/codejam/
'Computer Science > Etc' 카테고리의 다른 글
Visual Studio 디버깅에서 메모리 값 확인하기 (1) | 2018.06.27 |
---|---|
깃허브(GitHub) fatal: HttpRequestException encountered (3) | 2018.02.24 |
ARM 프로세서 동작모드 (0) | 2017.11.02 |
IoT(Internet of Things)란? (0) | 2017.10.14 |
IoT/USN/M2M 기술 표준화 동향 (0) | 2017.10.12 |