長めのメモ

旅行とか理系の何かとか呼んだ本の記録とか

leetcodeコンテスト初参戦記

はじめに

はじめてleetcodeに参加をしたので振返りや思ったことを記録します。 時間がない人は反省と改善点から読んでください。

やったこと

参加登録

Registarボタンを押すのだがその際に面接を受けるかというアンケートがとられた。他の競プロサイトと比べ就活のためという色が強いらしい。

環境構築

直前にやったのであまりできていない。 この拡張機能を使用。

ログイン

拡張機能はログイン機能を持っており、コンテスト中にleetcodeアカウント、Github、Linkedinのサードパーティログインができなかったためかなり焦った。ローカルやDocker上の環境で試したがLinkedinはできたりできなかったりし、leetcode、Githubはどちらもできなかった。 Cookieによるログインはできたためこちらで完了。

問題を解くとき

Rustにて取り組む。 拡張機能は自動テストができるのが便利だが、補完とかがなくきつかった。そこでatcoderで使っている環境を使用して、テストはleetcodeのコードテストにて行っていた。かなり効率が悪かったと思う。 Rustにあまり慣れてないのもあって、問題によってはC++を使ってこちらもatcoder用のものを流用した。デバッグ時は提出する関数部分をのみをコードに貼り付け、テストサンプルをmain関数内の変数に書き込んで行った。

和訳

英語の問題だったのでChrome上でサイトを開いたとき右クリックメニューの日本語に翻訳という機能を使った。 これは数式の処理があまり良くないため、英語で問題文を読むことに。

感想

問題数が少なくてatcoderよりは優しそうな気がする。コンテストは毎週日曜日のweekly contesutと隔週土曜日のbiweekly contestが日本時間11:30と健康的な時間帯にあり頻度が高いため参加しやすそう。

参加者は日本人が少なく中国人、インド人が多そう。vscode拡張機能を検索し、上から見ていったら開発者が中国人ばかり。

難易度は、参加時のコンテストではeasy 1問 medium 2問 hard 1問でeasyはatcoderでのA問題くらいでmedium 1問目は茶diff下位、medium 2問目は茶diff上位~緑diffくらいだった。Hardは見ていない。

反省と改善点

環境構築

C++ならhttps://marketplace.visualstudio.com/items?itemName=wangtao0101.debug-leetcodeという拡張機能があるのでテストとデバッグを行いやすくする。デバッグできる言語を追加すると書いてあるが最後のコミットが2021年なのが心配。

Rustならhttps://github.com/clearloop/leetcode-cliというのがあるためこれを使うと良さそうな気がする。

拡張機能

問題を解くとき

Rustを使うときコードを書くためのウィンドウと拡張機能を使ったテスト用のウィンドウを開き書いたコードを貼り付けてテストしていくのが良さそう。 ベストプラクティスとは遠いと思うが。

コンテスト

バチャコン機能が公式から提供されているので本番参加前に慣れておくべき。 普通に過去問を解くときは落ちたテストを表示してくれる親切設計があり、さらにサイトの機能で多数の一般参観者の解説をみることができるのでatcoderだけでなくこちらで勉強するのもよい。

和訳

今後ChatGPTを使うのが良いと考える。 問題文に数式の表記があり普通の和訳サイトだとうまくできないことが多いが、ChatGPTに投げたら数式までうまく処理をして和訳してくれた。

最後に

全体としてかなりよいサービスだと思います。 leetcodeやりましょう!