LoginSignup
0
0

More than 1 year has passed since last update.

[Ruby] AtCoder過去問 B - A to Z String

Posted at

はじめに

AtCoder過去問B問題をRubyで解いてみました。
よろしくお願いします。

問題はこちらから確認してください↓

B - A to Z String

まずは入力受け取りです。
一文字ずつ分けて配列で受け取っています。

s = gets.chomp.chars

この問題メソッドさえ知っていれば非常に簡単で、要は配列sの中で一番はじめに出てくる(一番先頭に近い)文字Aのインデックス番号(位置)を特定し、配列sの中で一番末尾に近い文字Zのインデックス番号(位置)がわかれば、zのインデックスに+1した数(インデックス番号は0から始まるため+1する)からAのインデックスを引けば文字列の数が分かります。

Aのインデックスはindexメソッドで分かります。
Zのインデックスはrindexというメソッドで末尾からはじめに見つかるZの位置を特定することができます。

s = gets.chomp.chars
a_index = s.index("A")
z_index = s.rindex("Z")

puts z_index+1-a_index

a_indexに+1していない理由は、ここで欲しいのは配列sの先頭からはじめのAにたどり着くまでの文字の数なのでAは含まれないからです。もともとインデックスは0から始まるので−1する必要はありません。

逆にz_indexはZを含めた、最後のZの位置を調べたいので+1しています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0