본격적으로 ProblemSolving에 관심을 가진 사람들을 위한 해설입니다.
문제를 읽고-생각 하고-코드를 짜는 사고 과정을 최대한 담았습니다.
정답 코드는 우선 Cpp로 제공될 예정이며 여유가 생긴다면 Python으로도 제공할 예정입니다.
최근 5~10년의 USACO Bronze, Silver에 대한 해설을 우선적으로 작성할 예정입니다.
❗주의: 상업적, 영리적 이용을 금합니다.
난이도 | 출제 내용 | 해설 |
---|---|---|
Bronze | 브루트포스, 그리디를 사용한 문제 해결 | 해설 링크 |
Silver | 다이나믹 프로그래밍, 이분 탐색, 그래프 등을 사용한 문제 해결 | 해설 링크 |
Gold | 심화 알고리즘/자료구조를 사용한 문제 해결 | 해설 링크 |
Platinum | 그냥 어려움 | 해설 링크 |
USACO는 미국정보올림피아드로 미국 중, 고등학생을 대상으로 한 Competitive Programming 대회입니다. 정해진 시간 동안 정확하고 효율적인 코드를 작성하는 것을 요구하며, 난이도에 따라 Bronze, Silver, Gold, Platinum으로 나누어져 있습니다.
특정 알고리즘, 자료 구조를 요구하는 문제들과 다르게 USACO는 문제 해결 그 자체를 요구합니다. 지문을 읽고 이해하는 과정부터 시작하여, 문제의 특징을 파악하여 솔루션을 떠올린 후 실수하지 않고 정확한 코드를 작성하기 까지의 긴 호흡이 필요합니다. 때문에 간단한 반복문, 조건문만을 사용한 문제들도 높은 체감 난이도를 가지고 있습니다. USACO를 수월하게 풀 실력이 된다면 어떤 문제가 나오더라도 체계적으로 사고할 수 있는 능력을 갖게 될 것입니다.
- 특정 분류(DFS, Greedy)의 문제는 잘 풀지만 처음 본 문제를 푸는데 어려움을 느끼는 사람들
- 날마다 실력 편차가 크게나는 CP(Competitive Programmer)들
- 문제를 고민하고 깨지면서 느끼는 고통마저 즐거운 변태들