From 285740580fde9d451f8f5589484cb94fab5596c2 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Thu, 7 Feb 2013 15:30:41 -0600 Subject: scala solution --- DNA.scala | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 DNA.scala 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(" ")) -- cgit v1.2.3-54-g00ecf