日別アーカイブ: 2022年10月12日

TIPS(Ruby:1から1000の数字に任意の数字が何個含まれるか?)

目標:なにがしたいか?

1から1000の数字に任意の数字が含まれるのは何個あるか?

問題

1から1000の数字に任意の数字がいくつ含まれているか、調べたくなりました。
例えば13の数字が入るのは 13, 113, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 213, 313
413,513,613,713,813,913であるので、合計 20となります。

与えられる入力値

13

期待する出力

20

コードと解説

#1行目の入力値を受け取る
n = gets.chomp

#1~1000まで配列を作成して配列内の数字を全て文字列に変換する
days = [*1..1000].map(&:to_s)

#include?で任意の数字を選択して長さを出力する
puts days.select { |i| i.include?(n) }.size

https://paiza.io/ja/projects/new

↑こちらにコピペして「実行」で確認できます。

↓このような出力結果になっていればOKです。