busyhuman   1년 전

안녕하세요. 궁금한게 있어서 질문드립니다.

여기 사이트에 문제가 많잖아요?

그럼 보통 어떤 기준 또는 순서로 푸시나요.

예를 들면

1. 1000번부터 쭉 푼다.

2. 문제집 별로 푼다.

3. 출처 별로 푼다.

등등

저는 뭐부터 해야할지 감이 잘 안잡히더라구요.

혹시 초보한테 추천하시는 루트가 있나요?



koosaga   1년 전

초보자면 쉬운 문제집 별로 푸는게 좋아보이고


어느정도 감이 잡히면 출처에서 대회 하나를 올클한다던지로 하는게 좋은거 같아요. (자기가 원하는 난이도의 대회로...)


개인적으로 번호순은 정말 비추임다


appa   1년 전

저는 개인적으로 한국정보올림피아드 초등부 지역본선/전국대회 부터 풀어보시는 걸 추천드립니다.

그 다음으로는 중등부, 고등부 지역본선과 전국대회 문제들을 푸셔도 되고, https://www.acmicpc.net/category/17 여기서 한 개의 세부 contest를 골라서 4시간 정도 시간을 정해놓고 풀어본 다음에 http://hsin.hr/coci/ 여기서 해당 contest를 찾으면, 데이터도 다운 받을 수 있고, 해법과 공식 솔루션코드도 받아볼 수 있어요. 공부하기 상당히 좋은 것 같아요.

어느 정도 KOI 문제들도 거의 다 푼 것 같고, COCI도 좀 많이 풀다보니 지겹다...싶으실 때는 Baltic Olympiad나 CEOI, 국내 ICPC 인터넷 예선 및 본선 문제들을 풀어보시면 될 것 같아요. 개인적으로는 구글링해서 솔루션이나 데이터를 구할 수 있는 공식 대회 문제들을 먼저 풀어보시는 게 좋을 것 같아요. 오랫동안 고민하다가 막혔을 때 질문게시판을 이용할 수도 있지만, 항상 답변이 달린다는 보장이 없으므로 혼자서 고민했다고 막힌 문제를 포기하기는 아쉽고.. 어떻게든 해결하려면 어쩔 수 없는 것 같네요.

또 추천드리는 사이트로는 http://codeforces.com/ 가 있습니다. div1 문제들은 쉬운 게 잘 없지만, div2 문제들 중에는 쉬운 것들이 많아요. 그리고 pretest의 작은 데이터에 대해서는 틀린 데이터를 알려줍니다. 모든 문제마다 화면 오른쪽 아래를 보시면, 'Tutorial'이라는 단어가 보일텐데, 그걸 클릭하면 출제자가 적은 꽤나 친절한 해법을 볼 수 있습니다. 그리고 이 사이트의 장점으로는 해당 Regular Contest에 참여하지 않았다 하더라도, 대회 도중 다른 사람들이 맞추었던 소스코드를 볼 수 있다는 점입니다.

더 궁금한 사항들은 http://acmicpc.slack.com/ 에 오셔서 다른 백준온라인저지 사용자들에게 물어보시는 게 좋을 것 같아요. 화이팅!

busyhuman   1년 전

appa

보다보니 궁금해졌는데

Appa님은 처음 시작할때부터 지금까지 어떻게 어떤 순서로 공부하셨는지 믈어봐도 될까요

appa   1년 전

처음이라고 하면 C/C++을 처음 접한 10년 전 정도로 거슬러 올라가야하네요... 흐아...ㅠㅠ

저는 알고리즘은 하나도 모른채(사실 dfs나 bfs의 개념 정도만 알고...) 문제를 풀다가 필요한 지식들을 채워넣었습니다.

최단거리 알고리즘 문제가 나왔는데 제가 짠 건 bfs이고, 솔루션을 보니 플로이드-워샬 알고리즘이라서 그걸 배우고(이해는 제대로 못한 채 처음에는 외웠던 것 같네요)

다음에 또 최단거리 알고리즘 문제가 나와서 플로이드-워샬을 짯더니 N제한이 커서 다익스트라라는 걸 써야했고(이것도 사실 외운거죠.. 로직을..)

다음에 또 최단거리 알고리즘 문제가 나와서 다익스트라를 짯더니 N제한이 더 커져서 힙이라는 자료구조를 써가지고 다익스트라를 O(E log V)에 짜야했고...

힙을 몰라서 힙을 배우고... 뭐 이런 식의 반복이었습니다. KMP도 처음에는 그냥 외웠어요. 소스코드 자체랑 파이 배열 정의 자체를.

제가 중학생 때에는 학기 중에는 컴퓨터 학원을 아예 다니지않았고 방학 때 모 학원 캠프에서 문제들을 풀면서 위의 과정을 거쳤고...

국제정보올림피아드 계절학교에 들어가면서 공부법이 많이 달라진 것 같습니다. 거기서 많이 토론도 하고, 교수님들께 원리와 증명을 배우면서 실력이 가장 많이 늘었던 것 같네요.

대학생이 되어서는 해외 ICPC 리저널 세트나 어떤 외국 올림피아드 대회의 문제 세트를 잡고 그 세트를 한 번 다 풀어보고, 솔루션을 보고 확인하는 작업을 반복했습니다.

저는 코드포스나 탑코더는 잘 하지 않았어요. Problem Set에 있는 문제들은 가끔 연습하다가 풀어보긴 했었데, Contest에 잘 참여하진 않았습니다.

시간대가 안 맞는 게 가장 큰 이유였는데, 요즘은 해야겠다고 필요성을 느끼네요. 한정적인 시간에 제 모든 걸 끌어내서 문제들을 푸는 연습은 꼭 필요하다고 봅니다. 효율도 꽤 좋구요.

그럼 이만 글을 끝맺겠습니다.

busyhuman   1년 전

appa

긴 글 .. 감사합니다..

댓글을 작성하려면 로그인해야 합니다.