Skip to content

Instantly share code, notes, and snippets.

import scala.util.Random
import scala.collection.immutable.SortedMap
object ATGC extends App {
def randomString(size: Int) = List.fill(size)(randomChar).mkString
def randomChar = "ATGC"(Random.nextInt(4))
def analyze(s: String): Map[String, Int] = {
val (_, _, res) = (s + "Z").tail.foldLeft((s.head, 1, SortedMap.empty[String, Int] withDefaultValue 0)) {
case ((last, count, map), current) if current == last => (last, count + 1, map)