競争力のあるプログラミングを開始するには?[閉まっている]


17

私はしばらくコーディングを練習してきましたが、問題は、問題の解決策を書くのに時間がかかることです。競争力のあるプログラミングがこれを改善するのに役立つかどうか尋ねたいです。

はいの場合、どのように開始し、どのWebサイトから使用できますか(TopCoderなど)?今のところ、非常に難しい問題を解決することはできません。私は何をすべきか?

いいえの場合、他に何をすべきですか?

また、コーディングを学びたいという別の問題もありますが、問題は、私はそれがあまり得意ではないと感じていることです。私は何をすべきか?それは私を内側から盗聴するようなものです。

一部の人々はこの質問を有益とは思わないかもしれませんが、少なくとも答えが得られるようにしてください。


1
共同プログラミングの価値も過小評価しないでください。私たちのチームには、競争力-エンジニアリング/対人関係の問題が原因でいくつかの問題があります。したがって、競争力のあるプログラミングはあなたを助けることができますが、オープンソースプロジェクトに参加したり、志を同じくする友人とプロジェクトを開発することもできます。
ギャビンハウデン

回答:


19

[競争力のあるプログラミングは、[速度]の改善に役立ちますか?]

はい、できますし、十分な時間があれば、確かにそうなります。ただし、スピードはあなたが改善しようとしている最も重要なスキルではありません。私が10年以上TopCoderに参加した経験から、競合プログラミングで最も重要なスキルは、デバッガーを使用せずに、簡単なコードスニペットを初めて正しく書く能力です。

TopCoderのようなどのサイトからどのように開始すればよいですか?

ディビジョン2の練習室を使用します。ディビジョン2のレベル1は通常、すぐに解決策を見つけ出すという意味で「タイピングコンテスト」であるため、タスクはできるだけ早くコーディングします。ほとんどの実際の割り当てはそのようなものです。デバッガーが最大の「時間の浪費」であることにすぐに気付くので、デバッグせずにコードを完成させようとするのは自然です。これは最初はイライラしますが、時間とともに改善されます。うまくいくためには、レベル1の問題が数百必要になるので、あきらめないでください。

頭の中でデバッグすることは、実際の仕事に役立つスキルです。コーディング速度は重要ではありませんが、デバッグせずに正しいコードスニペットを書く能力は、優れたものから優れたものへの移行に役立ちます。


@dasblinkenlightに感謝します!
バイバブアガルワル

10

初心者のプログラマーとして、コードの作成速度よりもコードの品質にもっと注意を払う必要があります。スキルを伸ばすために、自分でプロジェクトに取り組む必要があります。その後、オープンソースプロジェクトをレビューして、他の人がどのようにコードを書いているかを確認し、オープンソースプロジェクトへの貢献を開始できます。

さまざまなプラットフォームおよびビジネスドメインでコードを開発してから25年以上が経ちますが、コードの品質と安定性よりもコード記述の速度が重要であるケースを発見したことはありません。


しかし、競争に参加しているときに、コーディングの競争やインタビューのプロセスを考えてみてください。そして、それも私はたくさん感じています。
ヴァイバフアガルワル

@cdkMooseそれは良いことですが、競争的プログラミングを開始する方法をどこから始めるかということも教えてください。
バイバブアガルワル

@VaibhavAgarwal Project 1から50の問題:競争的ではありませんが(最新の問題を解決する最初の人になろうとしている場合を除き)、それは挑戦的であり、コーディング競争で予想されるタイプの質問ですまたはインタビュープロセス。

@Vaibhav、私は他の競争を始めるのと同じ方法で競争力のあるプログラミングを始めます:練習、練習、練習。
cdkMoose

1
@Vaibhav:プログラミングを学びたいと投稿しました。それがあなたがいる段階である場合、私はあなたが競争的なプログラミングにまったく関心を払うべきではないと個人的に考えています。それはあなたのスキルを開発した後に来ることができます。面接に関しては、面接候補者に完全なプログラムを書くように頼みません。私は彼らの理解と思考プロセスにもっと関心を持っています。記録的な速さで問題を解決できるというのではなく、問題を解決できるという自信をつけようとしています。
cdkMoose
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.