[伯俊]1620号私はポケモンマスター李多順です
10139 ワード
1620号私はポケモンマスター李多順です
図鑑に順番に入れると、検索名に番号が表示され、検索番号に名前が表示されるのでarrayを使うよりmapクイッククエリーを使うほうがいいです.
そこで,Pocketmon名マッピングとPocketmon Idマッピングを作成して解放した.
完全エンティティの挿入:O(n)
クエリー:O(1)
O(2n)
方法
図鑑に順番に入れると、検索名に番号が表示され、検索番号に名前が表示されるのでarrayを使うよりmapクイッククエリーを使うほうがいいです.
そこで,Pocketmon名マッピングとPocketmon Idマッピングを作成して解放した.
時間の複雑さ
完全エンティティの挿入:O(n)
クエリー:O(1)
くうかんふくざつさ
O(2n)
Code
import java.io.BufferedReader
import java.io.InputStreamReader
import java.io.BufferedWriter
import java.io.OutputStreamWriter
class IO1620 {
private val br = BufferedReader(InputStreamReader(System.`in`))
private val bw = BufferedWriter(OutputStreamWriter(System.out))
fun flush() = bw.flush()
fun write(message: String) = bw.write(message)
fun close() = bw.close()
fun getInt(): List<Int> = br.readLine().split(" ").map { it.toInt() }
fun getPockemon(): String = br.readLine()
fun getString(): String = br.readLine()
}
fun main() {
val nameMap = hashMapOf<String, String>()
val idMap = hashMapOf<String, String>()
val io = IO1620()
val (pockemonNum, dokamNum) = io.getInt()
(1..pockemonNum).forEach { idx ->
val sIdx = idx.toString()
val name = io.getPockemon()
nameMap[name] = sIdx
idMap[sIdx] = name
}
repeat(dokamNum) {
val query = io.getString()
if (nameMap.containsKey(query)) {
io.write(nameMap[query]!! + "\n")
} else if (idMap.containsKey(query)) {
io.write(idMap[query]!! + "\n")
}
}
io.flush()
io.close()
}
Reference
この問題について([伯俊]1620号私はポケモンマスター李多順です), 我々は、より多くの情報をここで見つけました https://velog.io/@greenddoovie/백준-1620번-나는야-포켓몬마스터-이다솜テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol