
1. 도입 앞에서 언급했듯이 프로그래밍 대회는 문제 해결 능력을 수련하기에 무척 좋은 환경입니다. 그러나 무작정 알고리즘을 외우고 문제를 푼다고 해서 문제 해결 실력이 쌓이는 것은 아닙니다. 문제 해결 능력은 프로그래밍 언어나 알고리즘처럼 명확히 정의된 실체가 없는 추상적인 개념이기 때문에 단순한 반복만으로 연마하기 어렵습니다. 실제로 우리는 초등학교 산수 시간부터 문제를 푸는 방법을 배우지만, 많은 경우 당장 주어진 문제를 풀기 위한 요령을 익히는 데 급급합니다. 결국 대다수 사람들의 문제 해결 기술이 기계적으로 문제를 풀면서 익힌 감과 막연한 시도에 머무르는 것이 현실입니다. 좋은 문제 해결자가 되기 위해서는 좀 더 높은 차원의 수련이 필요합니다. 이 수련의 목표는 문제를 푸는 것이 아니라 문제를 푸..