【Paiza】練習成果報告 解答時間が1/4に短縮できました 〜Cランク問題編〜

Cランク_練習問題 コーディングテスト

以前数年ぶりにpaizaのCランク問題に挑戦しました。

1問解くのに69分もかかってしまいとても悔しかったですね。
あれから数問練習したところ解答時間が大幅に短縮できたのでその結果をまとめました。

数問も解くと解答時間が1/4に短縮された

ログイン
ログイン画面です。|ITエンジニア・プログラマ向け総合求職・学習サイト【paiza】

Cランクの問題をランダムに2, 3問選んで解きました。
その中で最も成績が良かった問題がC115:渋滞の距離でした。

クリックして拡大できます

最初から比べると回答時間が1/4くらいに短縮されていますね。

時間が短縮できた1番の理由は標準入力でデータを受け取るところがテンプレート化できたことでしょう。

問題が変わっても標準入力で受け取ったデータを加工する方法は問題ごとに大差ありません。pythonであればsplitメソッドを使ってリストにしたり、for文でループ処理をすることでしょう。

ただまだ問題は山積みです。

提出前にコードの見直しをする

paizaでは一度コードを提出した問題は後から修正ができません。
最初に提出したコードのみが採点対象になるため、もしコードに誤りがあった場合はスコアが下がってしまうので注意が必要です。

いくつか問題を解いていると、最初に用意されたテストは通るけど提出後のテストには対応できずにスコアが下がってしまうことがありました。

クリックして拡大できます

たとえコードを修正してすべてのテストにパスできたとしてもこの問題のスコアが10点から変わることはありません。

提出前には必ず見直しすることをおすすめします
自分でテストパターンを用意するのも良いでしょう。

問題文を理解するのに時間がかかる

標準入力でデータを受け取れるようになったけど計算に詰まることも度々ありました。

国民の税金では問題文を1度で理解できず何度か読み直し・書き直していたら制限時間を超えてしまいました。タイムオーバーになるとその後に提出されたコードがすべてのテストをパスできたとしても問答無用でスコアが0になってしまいます

クリックして拡大できます

せっかく解いたのに。。。

解答時間の中央値がある程度長い問題は問題文を理解するのに苦労すると思ったほうが良いですね。

まとめ

paizaの問題を数問解くと解答時間が大幅に短縮できました。
やっぱり練習て大事ですね。

ただ時間が短縮できたとしてもまだ解答時間中央値よりも10分以上遅れを取っていますし、問題によって波があります。

まだまだ練習が必要でうぬぼれていてはいけませんね。