過去のブログを見ていて、"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年に!