回答して欲しい言語が Python だったので、こちらに書く(Ruby)
再帰楽しい
2つのテキストを渡して、条件に合致していれば両方を頭から食べてもらうイメージ
# frozen_string_literal: true RESULT_TEXT = 'さて、私〇〇〇〇はこのたび〇〇〇〇〇〇〇〇〇〇代表取締役社長' target_text = 'さて、私鈴木太郎はこのたびテクノロジー株式会社代表取締役社長'.chars template = %w[さて、私 はこのたび 代表取締役社長].join.chars def solve(target_text, template, ret = []) return ret.join if target_text.size.zero? template_char, target_char = [template, target_text].map(&:first) # pp [template_char, target_char].join(' ') # 動作イメージをつかむ出力 char = if template_char.eql?(target_char) [template, target_text].map(&:shift).last else target_text.shift '〇' end solve(target_text, template, ret << char) end result = solve(target_text, template) p result.eql?(RESULT_TEXT) # => true