トラック
/
Pharo
Pharo
/
演習
/
ハミング
ハミング

ハミング

初級

説明

2本のDNA鎖の間のハミング距離を計算してください。

体は、DNAを含む細胞でできています。こうした細胞は定期的に傷んで入れ替わりが必要になり、分裂して娘細胞を作ることでそれを補います。実際、平均的な人の体では、一生の間に約10京回もの細胞分裂が起こります。

細胞が分裂するとき、DNAも複製されます。この過程でときに間違いが起こり、DNAの一部が誤った情報として記録されることがあります。2本のDNA鎖を比べて違いを数えれば、いくつの間違いが起きたのかがわかります。これが「ハミング距離」と呼ばれるものです。

DNAは、C・A・G・Tの4つの文字で表されます。2本の鎖は、次のようになるかもしれません。

GAGCCTACTAACGGGAT
CATCGTAATGACGGCCT
^ ^ ^  ^ ^    ^^

この2本には7つの違いがあるので、ハミング距離は7です。

ハミング距離は、生物学だけでなく科学のさまざまな場面で役立つので、覚えておくとよい言葉です :)

実装上の注意

ハミング距離は、同じ長さの配列に対してのみ定義されています。そのため、長さの異なる配列の間で計算しようとしてもうまくいきません。

メモ

Smalltalkでは、例外はExceptionのサブクラスのインスタンスです。自分のドメイン用に独自の例外を作ることもできますが、この階層を眺めてみれば、解答を簡単にするのに適したものを選べます。

GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
Pharo Exercism

ハミングを始める準備はできましたか?

Exercismに登録すれば、50個の演習、そして本物の人間によるメンタリングとともに、Pharoを学んでマスターできます。すべて無料です。