BETA

演習問題色々3

投稿日:2018-11-29
最終更新:2018-12-03

文字列から単語の頭が小文字または数字である単語の数を数える

SEPARATOR = Regexp.new("^[a-z0-9]")

puts "文字列を入力" #=> I genera Secrets.yml.enc & secrets.yml.key after secret Edit 2000 and deploy by Capistrano
strArray = gets.to_s.split
count = 0

strArray.each{|word|
  if word =~ SEPARATOR
    count += 1
  end
}

puts count #=>8

正規表現が使えるとは思いましたが、どのようにすればif文のように、正規表現でtrue falseを分けられるかがわかっていませんでした。 Regexp文字列を作って=~でマッチさせることで解決するみたいです。

数字配列から、偶数番目の数字を抜く。ただし、前の数字が今の数字に1を足した数字と同じ場合はそのまま

nArray = [1,1,3,4,5,6,8,8,8,8,11,12,12]
result = []

for i in 1..nArray.length do
  if i % 2 != 0 || nArray[i-2] + 1 == nArray[i-1]
    result.push(nArray[i-1])
  end
end

puts result.join(",") #=>1,3,4,5,6,8,8,11,12,12

色々調べながら1時間くらいかかってしまいましたが・・・終わってみるとだいぶ簡単な印象ですね。 特に正規表現は使い方を覚えて損はないはずなので頑張りたいです。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

作ったもの、プログラミングで共有できそうなこと、IT関連でやってみたことなど、なんでも書いていきます。ヤドン可愛い

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!