paizaオンラインハッカソン Vol.5 を Scalaで解いてみた
最近残業のし過ぎで疲れすぎて、まったくもってScalaのコードを書けていなかったので
リハビリに
# Mission1
object Main extends App{ val sc = new java.util.Scanner(System.in) sc.nextLine().toList.zipWithIndex.filter(n => n._2 % 2 == 0).foreach(s => print(s._1)) }
# Mission2
object Main extends App{ val sc = new java.util.Scanner(System.in) val list = List.fill(sc.nextInt())(sc.nextInt()) for(i <- 0 to 6) { println(sumList2(list, i)) } // 再帰にしたいけど頭がまわらない def sumList2(list: List[Int], week: Int) = { var sum = 0 for(i <- week to (list.size - 1) by 7) { sum = sum + list(i) } sum } }
# Mission3
選べるわけ無いだろ!ということで
object Main extends App{ val partner = Array("RENA", "MINAMI") println(partner(new scala.util.Random().nextInt(2))) }
# Mission MINAMI
object Main extends App{ val sc = new java.util.Scanner(System.in) // x: 行, y: 列 val y, x = sc.nextInt() val list = List.fill(x, y)(sc.nextInt()) // 転置行列 val transposedList: List[List[Int]] = list.transpose.map(_.filter(_ != 2).padTo(x, 0).sorted).transpose transposedList.foreach(list => { println(list.mkString(" ")) }) }
Scala関数型デザイン&プログラミング ―Scalazコントリビューターによる関数型徹底ガイド (impress top gear)
- 作者: Paul Chiusano,Rúnar Bjarnason,株式会社クイープ
- 出版社/メーカー: インプレス
- 発売日: 2015/03/20
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (6件) を見る