2013-03-06 2 views
11

이것이 막연한/광범위한/주관적인 질문이 아니기를 바랍니다. 그렇다면 닫으십시오.프로그래밍 경쟁을 어떻게 빨리 해결할 수 있습니까?

어쨌든 몇 가지 프로그래밍 대회 (예 : Google의 코드 잼, Facebook의 해커 컵 등)에서 문제를 성공적으로 이해하고 그에 접근하는 방법을 모를 때까지 질문의 절반 이미 많은 사람들이 해결하고 있습니다.

제 질문은,이 사람들은 어떻게 그렇게 좋아 지나요? 순수한 천재입니까? 그것은 경험입니까? 정말 빨리 생각할 수있는 능력입니까? 내 능력을 향상시킬 것을 어떻게 제안 하시겠습니까? 나는 유능한 프로그래머라고 말할 것입니다. 나는 그 질문들 중 일부를 결국 해결할 수있다.

또한 수상자 코드를 검사 할 때마다 사용되는 매크로가 많이 보입니다. 이것은 나에게 그들이 일종의 템플릿을 가지고 있다는 것을 암시한다. (예를 들어 #define for loops와 같은 일부 축약 된 버전) 그들은 더 빠르게 프로그램하기 위해 사용한다. 이것이 중요한 차이를 낳습니까?

+0

1) 올바르게 이해할 때까지하십시오. 2) 잘못 이해할 때까지하십시오. – Dmitry

+0

간단하게 말하자면, 많은 코드를 작성하고 경쟁 영역을 전문으로 작성하십시오. – Dmitry

답변

13

중요한 것은이 대회에서 경쟁하기 위해 자신의 기술을 습득하는 데 막대한 시간을 소비 한 사람들과 경쟁하고 있다는 것입니다. 당신은

How do these people get so good? 

이 문제와 연습, 연습, 연습을 해결하기 위해 이론적 인 지식을 가지고 ... 조만간 따라 잡을 가능성,하지만.

Is it pure genius? 

현실적 일 수도 있지만 합리적인 정도로 그것을 보충 할 수 있습니다.

Is it experience? 

예.

Is it the ability to think really fast? 

실제로는 아닙니다. 연습을 통해 문제에 올바르게 접근하고 문제 진술에 미미한 세부 사항을 건너 뛸 수 있습니다.

How would you suggest I improve my skills? 

이론적 지식과 실습을 얻으십시오.

Do macros make a significant difference? 

시간이 10 % 단축 될 수 있지만 그다지 많지는 않습니다.

+2

Yeap. 연습을 대신 할 수 없습니다. –

7

통계적으로 말하자면, 충분히 큰 청중을 가진 모든 프로그래밍 경쟁은 초고속으로 멋지고 우아한 코드를 만들 수있는 초능력을 유치 할 것입니다. 마라톤 달리기와 같습니다. 세계 기록이 약 2 시간이라 할지라도 4 시간 만에 실행하면 정말 좋습니다. 그것에 대해 걱정하지 마십시오.

초고속에서 코드를 휘젓는 대신 코드의 품질과 우아함에 중점을 둡니다. 연습하고, 즐겁게 지내며, 다른 사람들이 얼마나 빨리 일하고 있는지 너무 많이 보지 마십시오.

+0

하하 이것은 안심할 대답입니다. 감사합니다 :) –

관련 문제