http://acm.uva.es/p 에 있는 2000여개의 문제중 드디어 100개를 풀었습니다 [....] 제작년에 ACM-ICPC라는 대회를 접하게 되면서 Programming Challenges를 사서 공부를 했었는데, 두달정도의 준비기간동안 충분한 준비를 하지 못해서 고배를 마셨던 기억이 [......] 있는데요, 산업기능요원으로 복무하는동안 알고리즘 문제를 풀면서 실력을 차곡 차곡 쌓고자 위 사이트의 문제를 풀기 시작했습니다.
이번에 풀면서 어려운 문제는 전혀 안건들었어요. 쉬운문제가 2000개중에 100개는 있겠지! 라는 생각으로 간단한 수열혹은 규칙만 사용하는 문제들을 골라골라 풀어서 100개를 달성했습니다. (이중에는 큐나 스택등의 초 간단한 자료구조를 필요로 하는 문제도 있었던거 같아요. 왠만해서는 안풀었습니다만..... 정확히 기억이 -_____-;;) 문제를 풀면서 "팩토리얼" 과 ,"소수"을 가지고 얼마나 문제를 울궈먹을 수 있는지를 느낄 수 있었습니다. 무슨 변형문제가 그렇게 많은지.. ( 쉬운 문제의 기준은 http://felix-halim.net/uva/hunting 와, 개편된 uva의 문제 사이트인 http://icpcres.ecs.baylor.edu/onlinejudge/ 의 %를 참고했습니다.)
어떤 문제는 당황스럽게까지 했는데, 600자리의 정확도를 요하는 문제인듯 보였으면서 double형으로 계산해도 Accepted가 뜨는 문제도 있었어요, 영어 해석이 전혀 되지 않아서 http://acm.uva.es/board 에 풀이를 올려준 글을 보고 풀었던 문제도 있고(완소 board♡)... 쉬운줄 알고 덤볐다가 전혀 갈피를 잡지 못하고 결국 gg친 문제도 있습니다.
문제를 풀면서 느꼇던 점들은 http://uva.xo.st 에 올렸는데, 올린 날짜들을 보니 작년에 쉬운거 100문제 풀기를 도전했을때 잠시 반짝 하고 그간 너무 띄엄띄엄 풀었다는게 눈에 확 띄네요. 반성반성.
쉬운문제 100개정도 풀고 어려운 알고리즘 공부를 하자 라고 다짐을 했었으니, 이제 알고리즘 공부 본격적으로 해야 하는데.... 사둔 알고리즘 책은 이미 5권을 넘어섰고, 그 내용또한 간단한게 아닌데다가 회사 프로젝트는 점점 빡빡해지고 영어공부랑 자격증 취득 계획도 있어서 언제 공부가 가능할련지 모르겠습니다. ㅠㅠ... 적어도 Introduction to Algorithms에있는 내용의 반 이상은 알고(사실 거의다 아는게 희망사항!), STL은 모두 사용할 수 있을정도의 실력은 키우고 싶은데 말이죠..
학부 2학년에 있던 자료구조및알고리즘 시간에 나름대로 열심히 수강을 했고, 그때는 배운걸 직접 손수 구현이 가능했는데 지금은 솔직히 불가능합니다 -_-.. 그때 배웠던 책을 꺼내들고 다시 복습한 다음에 Introduction to Algorithms이나 The Art of computer Programming을 읽어야 겠어요..
언제나 하고싶은건 많고 해야할 일도 많은데 시간이 부족한거 같습니다.ㅜㅜ
여담이지만.. 요즘 The Secret이란 책을 읽고 있는데, 그 책에서 "시간이 부족하다" 라고 생각을 하면 정말 시간이 부족해진다던데.. "난 시간이 충분해^^" 라고 생각을 하며 진짜로 그렇게 믿고 살아야 한답니다. (말이 좀 이상하네요 ^^;;)
ACM-ICPC를 아는지요...? ACM-ICPC는 국제 대학생프로그래밍경시대회(ACM-ICPC, International Collegiate Programming Contest)로 매년 전 세계의 대학생들을 대상으로 하는 프로그래밍 경진대회입니다. 매년 참가 수가 증가하고 있고 그 수준 또한 오르고 있어요, 더군다나 대학별로 출전을 하기 때문에 그 대학의 자존심을(....?) 걸고 대회에 참가하기도 합니다.
장황한 이야기는 그만두고,
http://acm.uva.es/p 는 ACM-ICPC가 처음 시작이 되었던 대학의 문제 홈페이지 입니다. (현재는 다른 많은 대학에서도 문제를 제공하고 온라인 자동 체점시스템을 만들어서 운영하고 있죠) 이 UVa에 있는 문제 중 1,000문제 이상을 풀자 라는 목표를 세워놓고 있었는데 제대로 지켜지지 않는 거 같아서 UVa 문제풀이 사이트를 만들어 보았습니다.
물론 혼자 하기 위해서 만든 건 아니고 누군가와 같이 공부를 했으면 해서 만들었는데, 혹시 저와 같이 문제를 풀어보실 분 있는지요? ^^;;
사이트의 주소는 http://uva.xo.st 입니다. 서로 질문을 할 수 있는 공간도 마련해 놓았고, 각자 공부하며 알게 된 내용을 올려놓을 공간도 마련해 놓았습니다. 그리고 구성원들의 UVa 성적을 조회해 볼 수 있는 Score 페이지도 만들어 두었어요. (현재 UVa 시스템이 개선 중이라서 갱신은 안 됩니다.)
같이 하실 분은 답글에 메일주소 남겨주세요.
단 한 달 넘게 한 문제도 풀지 않으실 분은 정중히 거절합니다. 적어도 일주일에 한 문제 정도는 꾸준히 푸실 수 있는 분들을 환영합니다. :D
덧1 ) 너무 많이 푸셧던 분들은... 부담됩니다 ^_^; 덧2 ) 다음주에 ACM-ICPC 서울 지역예선 인터넷 대회가 있습니다. 좋은결과 있으시길:D
여하튼 책 구입한지9개월만에 1chapter 다 풀었군요. 문제가 어려운것도 , 제가 실력이 부족한탓도 있지만 가장 큰건 게으른탓 ㅠ_ㅠ. Chapter2는 3문제정도 안풀었던데 어서 풀어야겠습니다 +ㅅ+. Programming-challenges문제를 모두 풀고 UVa문제 풀기 시작해야겠어요 :)