結果

問題 No.632 穴埋め門松列
コンテスト
ユーザー ichibanshibori
提出日時 2018-05-02 23:37:41
言語 Kotlin
(2.3.20)
コンパイル:
kotlinc _filename_ -include-runtime -d main.jar
実行:
kotlin main.jar
結果
AC  
実行時間 201 ms / 1,000 ms
コード長 574 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 9,286 ms
コンパイル使用メモリ 472,384 KB
実行使用メモリ 56,304 KB
最終ジャッジ日時 2026-05-14 18:31:03
合計ジャッジ時間 11,407 ms
ジャッジサーバーID
(参考情報)
judge2_1 / judge3_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 6
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

fun main(args : Array<String>) {
	val aLst = (readLine() ?: "").split(" ").map{ if (it == "?") null else it.toInt() }

	listOf(1, 4)
		.map { Pair(it, replaceNull(aLst, it)) }
		.filter { isKadomatsu(it.second) }
		.map { it.first }
		.joinToString("")
		.let { println(it) }
}

fun replaceNull(aLst : List<Int?>, num : Int) : List<Int> {
	return aLst.map { it ?: num }
}

fun isKadomatsu(nLst : List<Int>) : Boolean {
	return (nLst[0] != nLst[1] && nLst[1] != nLst[2] && nLst[0] != nLst[2])
	    && (nLst[1] < minOf(nLst[0], nLst[2]) || nLst[1] > maxOf(nLst[0], nLst[2]))
}
0