#2 Strings: Making Anagrams
2つも文字列を受け取って、両者がアナグラムになるまで不要な文字列を削除して削除した文字数を返す、という問題。
a = gets.strip.split("").sort b = gets.strip.split("").sort deletion = 0 until (a+b).empty? do if a.empty? || b.empty? deletion += (a.length + b.length) break end if a[0] == b[0] a.shift b.shift elsif a[0] < b[0] a.shift deletion += 1 else b.shift deletion += 1 end end puts deletion
感想
文字列をソートして、頭から順に1文字ずつ照合して削除数をカウントするやり方で解いた。 意外と素直にかけなかった。もっと良い解がありそう。