프로그래머의 세계에도 도전 골든벨 같은 대회가 존재합니다. 바로 프로그래밍 대회죠. 초, 중, 고등학생을 대상으로 하는 한국 정보 올림피아드부터, 역사와 전통을 자랑하는 ACM-ICPC 대회, 최근 주목받고 있는 구글 코드 잼까지 종류와 대상도 다양하지요. 몇몇 대회에서 입상을 하면 상금과 명예를 동시에 얻을 수도 있습니다. 물론 그렇게 되기가 어렵긴 하다는 게 함정…

상금도 못 탈 거면서 왜 해?

전세계에 프로그래밍 고수가 얼마나 많은데, 나 따위가 참가해서 상금은 커녕 멘붕만 겪지 않을까 걱정하실 수도 있을 텐데요. 사실 프로그래밍 대회에 참가하는 목적은 상금도 아니고, 등수 자랑도 아닙니다. 바로 자기 계발입니다.

프로그래밍 실력이란 게 끝이 있는 것도 아니고, 어찌보면 공부하면 할수록 이전까지는 몰랐던 분야가 눈에 들어오는 무한 반복 루프와도 같다고 할 수 있겠죠. 그러므로 모든 프로그래머는 끊임없이 공부할 운명을 지녔습니다. 근데 그냥 공부하기보다는 뭔가 나를 부추겨 줄 회초리 자극제가 있으면 좋겠죠? 바로 프로그래밍 대회를 자극제로 사용하시면 효과가 굉장히 좋다고 합니다.

프로그래밍 대회에 참가하는 것은 문제 해결 기술을 연마하기에 가장 좋은 방법이라 할 수 있습니다.  -『알고리즘 문제 해결 전략』에서

대회 준비하려면 어떻게 하나요?

0. 일단 『알고리즘 문제 해결 전략』을 읽으세요. ^^

이 책에는 프로그래밍 대회를 준비하는 데 필요한 가장 필수적인 주제들이 소개되어 있고, 채점받을 수 있는 다양한 문제들도 수록되어 있습니다.

알고리즘 문제 해결 전략 표지(전 2권)

이 외에 『알고리즘 문제 해결 전략』에 언급된 대회 준비 기법을 간략히 소개하면 다음과 같습니다.

1. 가능한 한 많은 문제 풀기

32개 장이나 되는 『알고리즘 문제 해결 전략』으로도 대회에 필요한 주제를 전부 다룰 수는 없습니다. 실전 문제를 풀어보며 지식을 프로그램으로 옮기는 연습을 하세요.

2. 온라인 채점 사이트 이용하기

문제를 풀고 채점받을 수 있는 사이트를 소개합니다.

3. 가능한 한 많은 프로그래밍 대회에 참가하기

다른 사람과 경쟁하는 경험을 통해 더욱 성장할 수 있습니다.

4. 팀 단위 연습하기

  • 종이에 답안 스케치하기
  • 역할 분담
  • 페어 프로그래밍
  • 디버거 없이 디버깅하기
  • 에디터의 화변 분할 활용

5. 팀 노트북 준비하기

(여기서 노트북은 랩탑 컴퓨터가 아닌 20여쪽의 출력물입니다.)

  • 미리 준비하기
  • 간단한 문서화 작업
  • 클래스 형태로
  • 적절한 글꼴

이 외에도 대회를 준비하는 분들에게 도움이 될 깨알같은 팁들이 책 여기저기에 숨어 있답니다.

이정도 떡밥을 던졌으니 이제 슬슬 낚이실 때가 된 듯 합니다.

다음 링크를 덥석 물어주세요~ ^^

11번가

강컴

교보문고

알라딘

예스24

인터파크