アルゴリズムの素振りもしないとね
ひさびさにpaizやHackerRankの問題を問いてたんだけど、メソッドを思い出すのに時間が掛かったり忘れてた。
仕事でコードを書くこともあるんだけど、設計や調査、ちょっとしたバグ修正で計算ロジック、アルゴリズムを考えて組むことってそんなに多くはない。それにしても問題が思った以上に解けなくなってて悔しかった。
数時間、リファクタリングしながら問題を解いてたら勘が戻ってきたけど、いやぁもっと定期的にアルゴリズムの素振りもしとかないとイザって時にシュッと良いコードが思いつかなくなってしまいそうだ。
解いてみた問題の回答コード(問題文は端折ってる)
# 大文字始まりか数字始まりの単語の種類を数えるもの input_text = 'hoge Fuga 1get Fuga' words = input_text.split target_text = words.map do |word| word if word[0] =~ /[0-9|A-Z]/ end puts target_text.uniq.count # 各言語のテストの平均点を算出するもの curriculums = %w[japanease,english,china] studens = [ [10,20,30], [10,30,40], [10,40,50], ] result = studens.transpose.map do |scores| scores.inject(:+) / scores.size end puts curriculums puts result.join(',')