Cover Image for [Boot camp for Beginners] B - Shiritori [Rust]

[Boot camp for Beginners] B - Shiritori [Rust]

概要

AtCoder Problems: Boot camp for Beginners をRustで解いてみる

学んだことmemo

  • しりとり意外とめんどくさい
  • 言葉が重複してる場合はしりとりになっているか確認する必要がないので先に重複してる場合を排除する
    • HashSet に変換して重複排除した上で元の Vec と同じ長さかどうか確認することでチェックできる
  • しりとりになっているかどうか
    • 2要素ずつ見ていくのは scan を使えば良さそう
    • 前の要素の最後の文字をstateとする
      • initial state は w[0] の最初の文字としておく
    • 前の要素の最後の文字と、今見ている要素の最初の文字を比較した結果を bool として返却する
    • all で全てが true かどうかを見れば良い
  • 文字列の扱い
    • word.chars().next() で最初の文字が取れる
    • word.last().next() で最後の文字が取れる
    • rust はchars があるのでこの辺の処理書くのが楽