summaryrefslogblamecommitdiffstats
path: root/DNA.scala
blob: d382594898f0536a615cfdf2d3b6980dc7e72709 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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(" "))