読者です 読者をやめる 読者になる 読者になる

uehaj's blog

Grな日々 - GroovyとかGrailsとかElmとかRustとかHaskellとかFregeとかJavaとか -

3年間の進歩

過去のブログを見ていて、"10分でコーディング"という記事があったので、かつ内容を完全に忘れていたので、あらためてチャレンジ。

問題はこちら

def func(int n, String cards) {
  cards = cards.substring(0, cards.size() - cards.size() % n)
  def result = []
  for (int i=0; i<n; i++) {
    result += ""
  }
  cards.collect().eachWithIndex { it, idx -> result[idx%n]+= it }
  return result
}

println func(3, "9879879876")
println func(6, "012345012345012345")
println func(4, "111122223333")
println func(1, "012345012345012345")
println func(6, "01234")
println func(2, "")

結果、時間は全く同じ15分、アルゴリズムも全く同じ。進歩がない…orz。
groupByとかを使おうとして試行錯誤して時間を食ったわ。

ではまた2018年に!

広告を非表示にする