Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

coding-practice

世界標準のソフトウェアエンジニアのコーディング能力を身につけることを目指す。 教材はArai60を使用する。

https://1kohei1.com/leetcode/

練習方法

Step1

  • 答えを見ずに考えて、5分考えて分からなかったら答えを見る
  • 答えを見て理解したと思ったら、答えを隠して書く
  • 筆が進まず5分迷ったら答えを見る
  • 見ちゃったら一回全部消してやり直し
  • 答えを送信して、正解になったら、まずは一段階目

Step2

  • 次にコードを読みやすくするようにできるだけ整える
  • これで動くコードになったら二段階目

Step3

  • そしたらまた全部消す
  • 今度は、時間を測りながら、もう一回、書く
  • 書いてアクセプトされたら文字消してもう一回書く
  • これを10分以内に一回もエラーを出さずに書ける状態になるまで続ける
    • 3回続けてそれができたらその問題はひとまず丸
  • 3ステップ目まで終わったタイミングで講師陣にレビューを依頼し、レビューを元にコードを書き直す
  • LeetCodeの問題とは直接関係ないが、関連するライブラリの再実装などするのもよい。たとえば、@lru_cacheやheapqライブラリなどを使用した解法があったのでLRU Cacheの実装やBinary Heapの実装なども行う。

リポジトリの使い方

  • 問題を解く前に問題名でブランチを切ります。
    • ブランチ名
      • {問題No}_{問題タイトル(snake_case)}
        • e.g. 141. Linked List Cycleの場合、141_linked_list_cycleとなる
  • LeetCodeの問題ごとにフォルダを作成します。
    • フォルダ名
      • {問題No}_{問題タイトル(CamelCase)}
        • e.g. 141. Linked List Cycleの場合、141_LinkedListCycleとなる
    • フォルダ内は、step1.go、step2.go、step3.go とmemo.mdとなります。
      • 使用する言語は自由
    • memo.md内に各ステップで感じたことを追記します。(これはプルリクのメッセージでもよい)
    • その他、最初に思い浮かんだコードなどもフォルダ内に保存してよいです。
  • プルリクエストのメッセージは以下のようにします。
    • 問題へのリンク
    • 問題文概要(プレミアムの場合)
    • 次に解く問題の予告など

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages