#rubyでTGIFを解く
#問題
TGIFとは、Thank God It's Friday の頭文字を取ったもので、
キリスト教の文化圏において、仕事や学校の長い一週間を終えて週末を迎えられることに感謝する言葉です。
入力として、平日の曜日が与えられるので、
・Monday, Tuesday, Wednesday, Thursday であれば、Still (曜日名)
・Friday であれば、TGIF
を出力してください。
#入力される値
入力は以下のフォーマットで与えられます
s
#期待する出力
入力として与えられた曜日が、
・Monday, Tuesday, Wednesday, Thursday のいずれかであれば、Still (曜日名)
・Friday であれば、TGIF
を出力してください。
#入力例1
Monday
#出力例1
Still Monday
#入力例2
Friday
#出力例2
TGIF
#私の答え
w = gets.to_s
if w == "Monday" || w == "Tuesday" || w == "Wednesday" || w== "Thursday"
puts "Still" + w.sub("", " ")
elsif w == "Friday"
puts "TGIF"
end
##解説
###1行目で文字列を取得。
###2行目でif文を用いて取得した文字列と「イコール」の関係になるならばというコードを作成。「| |」はor文なので「もしくは」という意味。
###3行目でputsで出力する訳ですが、今回は出力した結果に取得した結果をくっつけないといけないので「+」で連結。かつ、このままだとスペースがないまま「StillMonday」という感じでギチギチになってしまうのでsubメソッドを用いて「""」を「" "」にするとスペースが空きます。
###4行目でelsifを用いて「金曜日だった場合」を作成しないといけないので「イコール」で"Friday"にしています。
###5行目でputsで"Friday"がイコールだった場合"TGIF"が出力されます。
#今回のポイントはおそらくsubメソッドだったかなと思います。他にもgsubというメソッドもあり、subメソッドはピンポイントで変更する事が可能ですが、gsubメソッドは全てを変更する事が可能なので応用としてかなり使えます!
#以上!