알고리즘 대회(시간 절약하기)를 위한 방법들이 있나요?

  • Jaekwan
    Jaekwan

    안녕하세요. 최근 1년 정도를 알고리즘 공부에 투자하고 있는 직장인입니다.

    이제 문제를 보고 어느 정도 답을 유추할 정도가 되고, 어느 정도 시간을 갖고 풀어나가면 답에 근접하거나 접근방법이 점점 맞아들어가는 걸 보고 있죠.

    그런데, 알고리즘 대회에 참가해보면 시간이 턱 없이 부족하다는 것을 느끼네요. 나열해보면..

    1. 문제 -> 일반화 -> 연관 알고리즘 생각 시간.
    2. 알고리즘의 정확성 (각 문제가 실패->실패->...->실패->성공식의 으로 끝나고 실패의 길이가 꽤나 긴듯 합니다. 따라서 시간 또한 오래 걸리죠.)
    3. 알고리즘 길이 (순위자들의 알고리즘과 비교하면 길이가 x2이상 차이날때가 많네요. 타이핑을 더 오래 하게 되죠.)

    수식으로 접근하여 정확성을 늘리기 위해서 이산수학(mathematics for computer science)을 한 번 봤는데 아직도 수식으로 알고리즘을 생각해내는데 부족합니다.

    많은 문제를 접하여서 속도를 올리는 방법을 꾸준히 할 생각이구요, 혹시 일반적이거나 혹은 개인적으로 연관 알고리즘을 빠르게 생각하거나 초반 실패 확률을 낮추기 위해 사용하시는 방법들이 있나요? 도움 부탁드립니다.

    ps. 현재 알고리즘 용으로 python을 사용합니다. python으로 꾸준히 연습하기에 정확성 측면을 늘리기 힘들다고 보시나요? 요곳은 엑스트라 질문


    4년 전
1개의 댓글이 있습니다.
  • hyunhwan
    hyunhwan
    1. 정확한 정보가 제공되지 않아 Jaekwan님의 실력을 가늠하기 힘들어 답을 드리기 어렵지만, 아마 아직 대회 참가와 문제에 익숙하지 않아 발생하는 시행 착오가 아닐까 싶습니다. 첨언 하자면 실제로 대회 하듯이 연습을 하는 것을 추천합니다. 실제 참가할 대회의 환경에 가까이 맞춰 모의 대회를 돌아보시고, 끝나고 리뷰를 하시는 쪽으로 연습을 하시면 도움이 많이 될 것입니다.
    2. 알고리즘 용이라는 말이 모호한데, 알고스팟 문제 풀이나 프로그래밍 문제 풀이 대회에 참가하는 목적으로서, 이 링크를 보면 python도 나쁜 선택은 아니라고 생각합니다. 언어 선택의 기준에 대한 주관을 적어보자면,
    • 손에 잘 익고 자신의 생각을 빠르게 구현할 수 있는 언어 (제 경우에는어느정도 python은 이 범주에 들어간다 봅니다).
    • 수행 시간에 대한 손해를 덜 보는 언어 (python은 손해를 볼 수 있는 언어에 해당 됩니다).
    • 여러 프로그래밍 대회에 참가할 경우, 언어 사용 제약이 덜한 언어 (만약 ACM-ICPC를 참가할 경우 C/C++, Java만 사용가능합니다).

    4년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.