[Boot camp for Beginners] B - Shiritori [Rust]
概要
AtCoder Problems: Boot camp for Beginners をRustで解いてみる
- 今回の問題:B - Shiritori
- 書いたコード:提出 #53025492 - AtCoder Beginner Contest 109
学んだことmemo
- しりとり意外とめんどくさい
- 言葉が重複してる場合はしりとりになっているか確認する必要がないので先に重複してる場合を排除する
- HashSet に変換して重複排除した上で元の
Vec
と同じ長さかどうか確認することでチェックできる
- HashSet に変換して重複排除した上で元の
- しりとりになっているかどうか
- 2要素ずつ見ていくのは
scan
を使えば良さそう - 前の要素の最後の文字をstateとする
- initial state は
w[0]
の最初の文字としておく
- initial state は
- 前の要素の最後の文字と、今見ている要素の最初の文字を比較した結果を
bool
として返却する all
で全てが true かどうかを見れば良い
- 2要素ずつ見ていくのは
- 文字列の扱い
word.chars().next()
で最初の文字が取れるword.last().next()
で最後の文字が取れる- rust は
chars
があるのでこの辺の処理書くのが楽
[Boot camp for Beginners] B - Shiritori [Rust]