数年ぶりにpaizaの問題を解いてみました。
実務とは似て非なるものなので実際に解いてみると結構難しいですね。
最初paizaの問題を解いたのはエンジニアになる前でした。当時はD級問題も解けるかどうかの理解度だったのを覚えています。
エンジニアになってから初めてpaizaを解いて心境の変化があったのでまとめてみました。
数年ぶりにpaizaの問題を解いてみる
エンジニアも3年目になりだいぶプログラミングに慣れてきました。
最近新しくPythonを勉強し始めたこともあり「練習がてらpythonでプログラム書きたい」と思いpaizaの問題を解きました。

エンジニアになって初めてpaizaの問題に挑戦です!
- ランク:Cランク
- 言語:Python
まだ慣れないPythonでも「Cランクなら解けるだろう」という軽い気持ちで挑戦しました。
その結果、、、

解けたものの回答時間が69分。時間かかりすぎですね。
普通に何度も詰まりました。(笑)
現実は厳しかったです。
解いているときにいくつか思ったことがあったので書き出してみました。
目的次第でpaizaはちょうどよい練習相手
paizaではプログラミング言語だけで使って問題を解きます。
一方実務は言語に加えてフレームワークを使ったり、インフラを触ったりしてプロダクトを作成していきます。
イメージでいうとpaizaは1種目競技、実務は総合競技という感じでしょうか。
プログラミングだけを純粋に鍛えたいのであればpaizaはちょうどよい練習相手になると思いました。しかしアプリを作りたいなどプログラミングを使ってなにか成し遂げたいことがあるのであれば、paizaを解くのはちょっと遠回りに感じました。
標準入力とかに詰まる
標準入力・標準出力は、もともとUnixの仕組みです。標準入力はプログラムに値を渡す入力元のこと、標準出力はプログラムから出力される値の出力先のことをいいます。この仕組みを使うと、キーボードやファイルなど外部から値(データ)をプログラムに与えることができます。
標準入力・出力とは
標準入力でプログラム側から渡ってきた値を操作するのですが、実務だと標準入力でデータを貰うことはほとんどないですね。(少なくとも私の現場は)
バックエンドエンジニアのときはフロントから渡ってきたデータを操作していました。
標準入力がまた癖があるデータをしているのでその都度splitメソッドを使って操作・編集するのがめんどくさかったですね。
昔と比べて進歩が見られて嬉しい
数年前の記録を見るとCランク問題に挑戦して挫折している記録が見られました。(笑)
当時はどれも解けていなさそうですね。

Cランクからは配列やループ、連想配列を使えなければ解くことができません。
当時の私はそこらへんの知識が甘く解けなかったんですね。
こういう当時できなかったことが今できるようになっていると成長していて嬉しいなと思いました。
まとめ
3年ぶりくらいにpaizaの問題に挑戦しました。
Cランクなのに70分もかかって正直ちょっとチョックでした。
Cランク問題もあと何門か解けば標準入力の仕方やpaizaで配列を使うポイントが掴めると思いました。エンジニアとして技術力は必須なのでもうちょっとできるようになりたいですね。
最低Bランクの問題は解けるようになって問題次第でAランクを解けるように目指していきます。