diff options
Diffstat (limited to 'DNA.scala')
-rw-r--r-- | DNA.scala | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/DNA.scala b/DNA.scala new file mode 100644 index 0000000..d382594 --- /dev/null +++ b/DNA.scala @@ -0,0 +1,18 @@ +import io._ + +def countNucleotides (dna: Stream[Char]): List[Int] = { + var a, c, g, t = 0 + for (base <- dna) { + base match { + case 'A' => a += 1 + case 'C' => c += 1 + case 'G' => g += 1 + case 'T' => t += 1 + case c => println("Unknown character: " + c) + } + } + List(a, c, g, t) +} + +val dna = Source.fromInputStream(System.in).toStream.takeWhile(_ != '\n') +println(countNucleotides(dna).mkString(" ")) |