
paizaでAランクをとって、就職を有利に進めたいと思っているプログラミング初心者の大学生です。
paizaの問題をときたいのですが、問題の答えが出てこない、解説はないで、どうやって勉強すればいいのかわかりません。
問題はあっても、答えも解説もないのでは、勉強することができません。
競技プログラミングのサイトも同様で、解説がほとんどありません。
どうやって勉強すればいいでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答7件
0
ここで回答してもらって誰でもAランク取れるなら paiza の評価基準って一体何なのでしょうね。
出来る人が生き残って、出来ない人が落ちる。それが現実です。出来る人はそれなりの努力をしたか、もしくは一部の天才です。
努力する人はこんな事を言ってる間にもコードを書いてますよ。きっと。
投稿2017/06/27 15:08
総合スコア5030
0
とりあえず、paizaでAランクを先ほど取りましたので語ります。
※ メアドは消しています。
さて、paiza Aランクはまだ2問(1問目はなんかの質問でとりあえず見ちゃった物を放置していて、回答までに359392分32秒もかかってしまいましたが)しか解いていない、というより全部で11問しか解いていないので、妥当かどうかはわかりませんが、だいたいの出題傾向が見えてきたので、まずは、それについてです。
paizaは競プロ(競技プログラミング)とは出題傾向が違います。どちらかといと、実際の仕事でのコーディングに必要になる能力を問う問題です。動的計画法、中華風剰余定理、メモ化再帰、深さ優先探索vs幅優先探索、二分木探索といったもろもろのアルゴリズムもそれほど必要とはされません(Sランクだと出てきそうですけど)。そういう競プロで必要とされる能力ではなく、与えられた問題に対して、如何に素早く、正しく実装できるかが問われると言えます。普段から実際に仕事(または趣味)でプログラミングをしていれば、自ずと解けるような問題しか無いと言うことです。paizaが評価したいのは「仕事としてプログラミングができる」能力ですので、そういう能力があれば、何も考えずに解くことができるでしょう。
では、初心者がAランクを取るにはどうするのか?というと、そもそも、初心者がAランクを取ってしまったら、paizaの評価基準自体が破綻していることを意味します。初心者ではなく、それなりの経験を積んだ人で無いとAランクが取れないようになっているから、評価基準に意味があるからです。誰でもAランクが取れたらAランクの意味がありません。
なんか、おかしいことを言っているような気がしますが、逆に考えれば良いのです。それは初心者では無くなることです。
初心者と脱初心者の違いは何かというとのは少し難しいです。この問題が解けたら脱初心者なんていう試験的な話とは違うと考えています。知識の量とか経験の量とかあるかも知れませんが、私は心構えが一番異なると考えています。初心者は「まだ自分はできない」と考え、だからこそ、勉強したり、人に教えをこいたりします。脱初心者は「自分がやるしかない」と考え、だからこそ、勉強したり、解決方法を探したりします。
与えられた問題を解いていくだけでは「自分がやるしかない」となることは永遠に来ません。このアプリが必要だから、作ってと頼まれたから、自分が作るしか無いとなるのです。仕事もそうです。仕事として、作れと言われているのかだら、作るしか無いのです。それが自ずと経験となって、問題を解決する能力が身に付くことになります。いえ、逆です。問題を解決する能力を得なければ、何かを作ることは永遠に来ません。
もし、基礎はできたと思うなら、何かを作ってください。なんでもいいです。こんなのがあったら便利というものでもいいですし、自分が考えた最高のゲームでもいいでしょう。そして、きっと、知識がまだ足りないと言うことに気付くと思います。**それは普通のことです。**どこまで行っても、知識が足りることは無いですし、どんどん新しい技術は出てきますし、勉強しなくてもいいなんてことになる日は来ません。足りないところは、その都度勉強して、補って、なんとか完成を目指すのです。
そうやって、知識も豊富になり、問題解決をどうすべきかも自ずとわかってくるはずです。そのときには、Aランクなんて軽々取れるようになっていると思います。近道はありません。
なお、企業が新卒に求めるのは即戦力ではありません。将来の戦力です。経験者採用枠とかでも無いのに、paizaでAランクやSランクをとるようなやつが新卒で来たときは、すぐにフリーランスになりたいとか言い出して辞めそうなので、私だったら逆に敬遠します。
競技プログラミングのサイトも同様で、解説がほとんどありません。
競プロでも解説があるところはあります。
- AtCoder 終了したコンテストには解説が付いています。
- yukicoder 終了したコンテストには有志による解説が付いている場合があります。ただ、「後はDP(動的計画法)で解いていくだけ」といったアルゴリズム名だけで簡潔に書いている場合もあるので、ある程度知識が無いとわからないかも知れません。
なお、競プロとpaizaでは出題傾向が違うので、競プロができてもpaizaができるとは限りません。(逆もその然り)
投稿2017/07/29 09:23
総合スコア21741
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
このご時世、大手企業でもその手の採用が増えてきているので、そういった方向に走るのもある程度理解できますが。。
ただ、回答者の皆様の意見通り、良いランクをとるだけが実務の能力では無いとは思います。
それを踏まえて考えられる「対策」を下記に記載します。
1.「アルゴリズムとデータ構造」に関する本を読んで基本を覚える
2. 競技プログラムのテクニック本を読む
3. Aizu Online Judge / AtCoder 等のプログラミングコンテストに参加して基本的な問題を解きまくって傾向と対策を掴む(簡単な問題は解説が付いています)
4. 数学の問題を解くセンス
まあ思いつくところはこんな感じでしょうか。
頑張ってAランク取って就職頑張ってください!
投稿2017/07/29 04:13
編集2017/07/29 18:07総合スコア141
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
よしんば paizaでAランクをとったとしましょう。
それ「だけ」で就職が有利になるとは思えません。
例えば、インターンシップを利用して現場を感じるとか
勉強会や発表会に参加して熱気を吸い込んでくるとか。
仕事に限りませんが、結局は人と人の付き合いなんス。
人生に正解はない(わりと)無理ゲー的なものではありますが、
それを乗り切るためにも「経験」は必要になります。
リアルにチートとかありません。
まずは地道にやっていくことを習慣にしましょう。
投稿2017/06/27 15:49
総合スコア7466
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
paizaは入力値が分からないルールなので勉強には向かないと思います。
自分のコードのどこがおかしいのか分からないので。
paizaは力試しの場と考えて勉強は各入門サイトや書籍で進めた方が
効果的だと思います。
(私もプログラミング初心者なので私の言うことを信用してはいけません。)
投稿2017/06/27 15:27
編集2017/06/27 15:28
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。


退会済みユーザー
2017/06/28 05:43

0
私も今週からはじめました。
私の場合は PHP ですが、メモリ関連が普段考えないので厳しいですね。
Aランク以上は、よほど問題を選ばないと配列をループさせた途端メモリを食いつぶす問題が多いです。
アルゴリズムの最適化がカギになるようです。
数学が得意だと、結構イケるかもしれません。
あと、テストケースをちゃんと複数確認してから投稿するのが良いです。
インターフェイス的にテストケースを自作して確認しにくい仕様ですが、無理やり標準出力に出して確認するのが、高得点を取るには必須です。
**追記
paizaオンラインハッカソンVol.1 の解説があったので追記します。
実行時間の差は996倍以上。オンラインハッカソン最速コードの裏側に迫る!
後半にすすむと、裏技的回答が解説されていてかなり面白いです。
さらに追記
エディタに、paiza.IO を利用すると、テストがメッチャ楽になります。
コードを下手にいじってテストしなくて良いので、デバッグ用のコードを残して提出してしまうケースを減らせます。
投稿2017/06/27 15:51
編集2017/07/29 08:29
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/28 12:01
2017/06/28 14:23 編集