TrainingCoding

AtCoderやってみた B-Power Socketというやつ

AtCoderとの出会い

昨日、YouTubeでAtCoderを作った方のインタビュー映像を見ました。それがきっかけで、今日は試しに過去問を1問解いてみることにしました。以前から、優秀すぎる友人と話していて「プログラミングをやっていきたいけど、特に目的がないからなかなかプライベートではやる気が出ない」と感じていました。しかし、今日ようやく一歩踏み出すことができました。言霊のようなものがあるかもしれませんが、どこかで考えていないと、こうした一歩は生まれないんだなと実感しました。

初めての挑戦と感じた難しさ

結論として、今回の挑戦は自分にとっては非常に厳しいものでした。日々のストレスから逃れるために、普段は意識的に頭を使わないようにしているのもあって、問題文を読んで理解すること、それを数式に落とし込むこと、さらにはそれをプログラミングで実現することが本当にしんどかったです。新しいことを始めるのはやはり簡単ではないですね。でも、これは仕事ではなく趣味なので、問題ありません。時間をかけてゆっくりやってみようと思っています。

過去のプログラミング経験

私がプログラミングに触れたのは、学生時代のC言語の授業や、社会人になってからの業務改善でExcelマクロやC#、Pythonを少しだけ使ったときです。当時はChatGPTのようなツールがなく、ネットでサンプルコードを探しては自分の目的に合わせて改良するという形で何とか目標を達成していました。

ChatGPTの活用とその効果

今回、AtCoderの問題を解くにあたって、私は月額で課金しているChatGPTを使うことにしました。ChatGPTを使えば、問題文をキャプチャしてコードを書いてもらうこともできますが、それでは意味がないと感じています。そこで、いくつかの段階を踏むことにしました。まずは自分の力で問題文を読んで理解し、そこから数式を考え、プログラムを自分で書く。そして、コードを実行し、うまく動作するかどうか確認するというプロセスです。今回はうまくいきませんでしたが、まあ、気楽に考えています。

プログラミング環境とChatGPTのサポート

私は現在、DELLのワイドモニター(U4021QW 39.7インチ、 Amazonへのリンクはこちら)を使っており、3画面分の情報を同時に表示できます。当時でも今でも20万円ほどはしてしまう高価なディスプレイではありますが、長い間使うと考えるとそれほどでもないかもしれません。Visual Studio Code、ChatGPT、Webブラウザを並べて作業を進めているので、非常に快適です。ChatGPTにコードの意味を1行ずつ説明してもらったり、問題文についての理解を深めるためのアドバイスをもらったりしています。これまでにないほどの良い先生に助けられている感じです。疑問があればすぐに答えてくれるし、何度でも質問できるのがとてもありがたいです。

コミュニケーションの壁と独学の難しさ

振り返ると、私が勉強に苦手意識を持っていた理由の一つは、コミュニケーションの壁だったのではないかと思います。学校の授業では、時間内に板書を写し、理解し、問題を解かなければならず、分からないことがあれば質問できると言われても、教授のオフィスアワーに行くのは心理的に難しいものでした。同じことを何度も聞くのも気が引けますし、今回のように初歩的な疑問を聞くことさえできなかった経験があります。

ChatGPTによる独学の可能性

私は独学で進める能力はあまり高くありません。業務改善の際にプログラミングをしていたときも、理解を深めるというよりは、なんとか目標を達成することに集中していました。しかし、ChatGPTのようなツールがあれば、月額数千円でずっと疑問に答え続けてくれるため、私にとっては非常に有益だと思います。好奇心をそのままサポートしてくれる存在として、今後も楽しみながら学んでいきたいと思っています。

今後の展望

現在の仕事では、C++やJMPといったスキルが必要になりそうですが、大量のデータを扱う場合、Pythonの方が使いやすそうだと感じています。これからはPythonを使って学びを進めていこうと思います。まだまだ試行錯誤の段階ですが、焦らずに自分のペースで進んでいこうと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です