kb84tkhrのブログ

何を書こうか考え中です あ、あと組織とは関係ないってやつです 個人的なやつ

PAIZAのスキルチェックやってみた

ふと思い立ってPAIZAのスキルチェック受けてみました

言語でSchemeも選べるんですがベータだしライブラリとか考えると
あんまり有利じゃない気がするのでPython3にしてみました
どっちみちよく知ってるわけじゃないのですこし勉強してJavaScriptでも
いいかなと思いましたが
サンプル見てみたらなんかめんどくさそうに見えたのでちょっとパス

チキンなのでD問題からやってみましたが
これは初心者というか今日からプログラミング始めました、くらいのレベル
とかいいつつ自分だってelseの後ろってコロンいるんだっけ?とか言ってるレベルなので
1000本ノックみたいな気分でD問題を解いて手を慣らしていきます

ちょっとやってみてはランクを上げて、Aまで特に問題なし
標準入出力を使う問題で、フレームワーク等の知識は不要なのが助かりました
こういうのは競技プログラミングスタイルなんでしょうか

また、ここまではアルゴリズムとかデータ構造とか計算量とかの知識も特に必要なく
いくつかイディオムを身につければその場のロジックでいけました

たいていの問題では異常系は考えなくていいようになっていますが
たまに境界値でひっかかると何がひっかかってるかわかりづらい
そこを読み取るのもスキルのうちってことかな
「境界値」っていうだけでかなりのヒントではありますが

いちいちググりながらやってもだいたい制限時間には収まってるので
プログラマーに転職してもググりながら仕事できるってことでいいでしょうか
キレイに仕上げようとすると無限に時間をかけてしまいそうなので
答えが合ってればあとはソコソコで切り上げるようにしてます

S問題でつまずきました
今日は3回やってみて全敗

2問は複雑なだけの問題
1問はケアレスミスで1問は境界値の考慮漏れ
間違いになりそうな境界値が思いつかずこれは力不足

1問は単純にやるとメモリや計算量がO(2^n)になってしまう問題
おっとこれは、と思ってメモ化とかしたりメモリ無駄使いを削ってみたり
してみましたがいくつかのケースでタイムアウト
これくらいかな、と思って一度提出すると、タイムアウトしたからといって
もうちょっと改善することはできないのが厳しいです
といってもこれ以上速くするアイデアはなくてやっぱり力不足

ケアレスミスはもったいなかった気もしますがどうもこれは実力の問題っぽい
想定時間120分っていう問題が多くて、さすがにまとまった時間を取る必要が
あるのでまたチャンスを見て再チャレンジします
18問使い切るまでに合格できるでしょうか
そういえばPAIZAではS問題も解けるようになるような講座もあるのかな?

ところでスキルチェックを受けると年収をシミュレーションしてくれますが
ランクCくらいでも◯◯◯万、とか出て
こりゃランク上がったらどんな高給取りかと思ったんですけど
その後Bに上がったら下がりました
Aになっても戻らず
ベータだからというレベル以上に相当テキトーな感じ
入力した年収をベースに出してるんじゃないのって感じもする
この年収で転職できるならダメージも少ないだろうけど、現実はそんなに甘くないでしょうね