0〜1000に含まれる0をカウントする

二年くらい前に流行っていたようです。とりあえず、何も考えずに。

var sum = 0
for { i <- 0 to 1000 } {
  val s = i.toString
  sum += s.count(c => c == '0')
}
println(sum)

全然らしくないので、少し考えながら書いみてた。

(0 to 1000).map(s => s.toString.count(c => c == '0')).sum

ちょっと長いなぁと思っていたら、mkStringとかいう便利な(?)メソッドがあるらしい。

(0 to 1000).mkString.count(c => c == '0')

APIがぜんぜんわからないので、いいやり方がぱっと思い浮かばない。日常的にコード書かないと、上達しないどころかすぐ忘れてしまうしなぁ。