トラック
/
Dart
Dart
/
演習
/
ヌクレオチドの数
ヌクレオチドの数

ヌクレオチドの数

初級

説明

私たちは皆、生物学的な親からDNAと呼ばれる化学的な設計図を受け継いでいます。これは、私たちの体がどのように作られるかに影響を与えます。知られているすべての生命はDNAに支えられています!

注: この演習を解くために、ヌクレオチドやDNAについて何かを理解している必要はありません。

DNAは他の化学物質が長くつながった鎖であり、もっとも重要なのは4つのヌクレオチド、アデニン、シトシン、グアニン、チミンです。DNAの鎖は1本で、これらの4つのヌクレオチドを何十億個も含むことがあり、それらが現れる順序が重要です! ある部分のDNAにおけるこれらのヌクレオチドの順序を「DNA配列」と呼びます。

DNA配列は、これら4つのヌクレオチドを順番に並べたものとして表します。よく使われるのは、文字の並びで表す方法です。たとえば、6つのヌクレオチドからなるDNA配列は"ATTACG"のようになります。'A'はアデニン、'C'はシトシン、'G'はグアニン、'T'はチミンを表します。

DNA配列を表す文字列が与えられたとき、それぞれのヌクレオチドがいくつあるかを数えましょう。文字列にA、C、G、T以外の文字が含まれている場合は無効なので、エラーを通知してください。

たとえば、次のとおりです。

"GATTACA" -> 'A': 3, 'C': 1, 'G': 1, 'T': 2
"INVALID" -> error

実装

コードを実行しているときに、予期しない問題に対処しなければならないことがあります。 Dartでは、こうした状況に対処するために例外を使えます。

Dartで例外を投げるには、throwキーワードを使い、そのあとに投げたい特定の例外のインスタンスを書きます。 たとえば、throw Exception()と書くと、基本のException型のインスタンスを投げます。

この演習では、InvalidNucleotideExceptionという独自の例外を定義する必要があります。 この例外は、不正なヌクレオチドが出てきたときに投げる必要があります。 テストスイートは、InvalidNucleotideExceptionのインスタンスが渡されることだけを確認するので、正しく投げられさえすれば、好きなように実装してかまいません。

Dartの例外について詳しくは、例外のドキュメントを参照してください。 独自の例外は、Exceptionインターフェースを実装することで作成できます。

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

ヌクレオチドの数を始める準備はできましたか?

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