見出し画像

第41回(2024年1月度)社内プロコンの結果|札幌開発のイベントレポート

新卒エンジニアが同僚とプログラミング学習する社内プログラミングコンテストも2024年1月度で41回目となりました。

今月も結果をレポートにして共有します。

プログラミングコンテストを試してみた経緯やメリットについては以下の記事に詳しく記載がありますのでご確認ください。

ルールの説明

プログラミングコンテストのプラットフォームとしてTOPSICを利用しています。TOPSICはAtCoderと同じ問題が出題されるため、競技プログラムを勉強した方にとって馴染みやすいプラットフォームです。

配点は難易度 × 10点。制限時間は1問当たり難易度 × 10分です。

プロコンを行っている理由

新卒で入社してソフトウェアエンジニアとしての長いキャリアを歩む上で、プログラミングが得意な方だと思ってもらえると、過ごす時間の中で理解できる幅が増えて可能性が広がると考えているためです。

今回の結果

参加者は計36名です(入社1年目が21名、入社2年目が15名)。

出題は5問で、内訳は難易度1が1問、難易度2が2問、難易度3が2問です。合計難易度が11のため、110点満点で制限時間110分です。

使用言語の分布

利用言語に変化はありません。

回答の傾向

1問目は“+”と”×”の演算子を用いた問題になります。加算と乗算の両方で式を計算し、それぞれの式の結果を比較すれば良さそうです。

2問目はある整数がジグザグであるかどうかを判定する問題でした。与えられた整数を文字列に変換し、各桁を条件分岐でジグザグの条件を満たしているかを確認することで解答できました。

3問目は二進表記で与えられる2つの非負整数AとBを十進数に変換し、足し合わせた結果を出力させる問題でした。入力された二進数表記の文字列(AとB)を、int()関数を利用して十進数に変換することで解答に導けそうです。

4問目では、1からNまでの範囲内で選ばれる正の整数の3つ組(a,b,c)について、十進表記でそれぞれが異なる数字から成るような組の総数を求める問題でした。

3つの整数の組(a,b,c)のそれぞれの桁が重複せずに異なっているかをチェックするために、3重にネストされたfor文を利用することで解答できそうです。

5問目では、元の順列Aと部分的に「-1」に入れ替えられた順列Bが与えられ、「-1」の部分を復元して最終的に順列A,B間で場所と数字が両方一致する要素の数を最大化することが目的でした。

enumerate()関数を利用することで、順列A,B両方の整数の位置と値が確認でき、解答に導けそうです。

平均点は51.4点です。前回比で微増しています。

極端に簡単な問題はありませんでしたが、どの問題も一定以上の難易度でした。

今回の取りまとめと次回の話

今月は解ける問題が人によって異なる回でした。不得意なジャンルを潰していっていただければと思います。

次月はユニークかつ難易度の高い問題を設定しています。皆さん頑張っていきましょう!

前回の結果

新卒採用に興味をお持ちの方へ

弊社の新卒採用に興味のある方は以下の新卒サイトをご参照下さい。

以上となります。お読みいただき、ありがとうございました。