Bakejoon/Silver

[Kotlin] 백준 1764번 : 듣보잡 <Silver 4>

chattymin 2023. 9. 18. 15:54
728x90
반응형

https://www.acmicpc.net/problem/1764

 

1764번: 듣보잡

첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다.

www.acmicpc.net

Code


import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter

fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
    val bw = BufferedWriter(OutputStreamWriter(System.out))
    val (N, M) = readLine().split(" ").map { it.toInt() }

    val temp = HashSet<String>()
    val result = mutableListOf<String>()

    repeat(N){
        val name = readLine()
        temp.add(name)
    }

    repeat(M){
        val name = readLine()
        if (name in temp) result.add(name)
    }

    bw.write("${result.size}\n")
    result.sorted().forEach {
        bw.write(it + "\n")
    }
    bw.flush()
    bw.close()
}

https://naemamdaelo.tistory.com/entry/Python-%EB%B0%B1%EC%A4%80-1764%EB%B2%88-%EB%93%A3%EB%B3%B4%EC%9E%A1

 

[Python] 백준 1764번 : 듣보잡 <Silver 4>

⚠️ 내맘대로 작성한 코드이기 때문에 비합리적 진행과 근거없는 추론이 있을 수 있습니다!⚠️ https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의

naemamdaelo.tistory.com

이전에 Python으로 이 문제를 풀었었다.

그러다 모종의 이유로 이 문제를 다시 풀게 됐는데 지금은 Kotlin을 사용하니 Kotlin으로 풀어봤다.

 

 

꽤나 전에 풀었던 문제라 기억이 안나서 처음 푸는 느낌으로 풀었더니 저번과 같이 시간 초과가 발생했다.

그래서 HashSet을 사용해서 시간을 줄였다.

 

이전에는 왜 시간이 줄어드는지 모르는 채로 사용했다면, 이제는 HashSet을 이해하여 왜 시간이 줄어드는지 알고 사용하니까 한층 뿌듯했다.

728x90
반응형