알고리즘 문제 사이트들이다.

UVa Online Judge

내가 요즘 가는 곳. 그런데 엄청 페이지 로딩 속도가 느리다. 심각할 정도.

가입하고 Online Judge의 Browse Problems에서 문제를 골라 소스를 작성한 뒤 제출하면 정답 여부를 확인할 수 있다. 

서버의 컴파일러는 gcc이므로 Visual C++ 컴파일러로 잘 돌아가는 것도 업로드하면 컴파일 에러 나는 경우가 있으니 주의한다.
예를 들면 템플릿 사용할 때 꺾쇠를 연이어서 사용하면 - << 나 >> - VC++에서는 잘 인식되지만 gcc에서는 스트림 연산자로 인식되므로 한 칸 띄어써야 한다. 


USACO

대학교 다닐 때 ACM 모임 들어가서 처음으로 알게 된 알고리즘 문제 사이트. UVa에 비해 페이지가 좀 촌스럽지만 속도가 잘 나오는 편이다.

2010-11-04 
한번 방문해봤는데, 2007년 3월에 다섯 문제 풀고 한 문제 본 상태이다. 좀 부끄럽다. 당시 몇 번 나가다가 학업이 바쁘다는 핑계로 나가지 않았는데 지금 생각하니 좀 후회가 된다. 계속 했으면 지금의 내가 어떻게 변해 있었을까?



알고리즘 문제는 공학이라기 보다는 수학의 영역에 가까워서, 코드를 보기 좋게 한다거나 구조나 설계 같은걸 잘 만드는 것 보다는 문제를 빨리, 그리고 정확하게 푸는 게 더 중요하다.

풀다 보면 두 가지 상황이 발생하는데, 하나는 공학 - 그러니까 프로그래밍 - 스킬의 부족으로, 문제를 푸는 방법은 남에게 말할 수 있는데 코드로 작성하는 못하는 상황이다.

다른 하나는 흔한 상황으로, 그냥 푸는 방법을 찾지 못하는 경우이다.


문제를 풀다 보면 지루하고 귀찮고 짜증나서 집중하지 못하고 웹서핑을 한다거나 게임을 켜버린다거나 하는데, 어떻게 해야 극복할 수 있을 지 생각해보고 있는 중이다. 마치 숙제를 하는 기분이다.

사실 산수 문제 푸는걸 어렸을 때부터 별로 좋아하지 않았다. 과학은 아주 좋아했지만, 수학은 곱셈 배울 때 부터 나를 힘들게 했다. 어쩌면 구구단을 맞으면서 배워서 그럴지도 모르겠다.



반응형

+ Recent posts