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()
}
[Python] 백준 1764번 : 듣보잡 <Silver 4>
⚠️ 내맘대로 작성한 코드이기 때문에 비합리적 진행과 근거없는 추론이 있을 수 있습니다!⚠️ https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의
naemamdaelo.tistory.com
이전에 Python으로 이 문제를 풀었었다.
그러다 모종의 이유로 이 문제를 다시 풀게 됐는데 지금은 Kotlin을 사용하니 Kotlin으로 풀어봤다.
꽤나 전에 풀었던 문제라 기억이 안나서 처음 푸는 느낌으로 풀었더니 저번과 같이 시간 초과가 발생했다.
그래서 HashSet을 사용해서 시간을 줄였다.
이전에는 왜 시간이 줄어드는지 모르는 채로 사용했다면, 이제는 HashSet을 이해하여 왜 시간이 줄어드는지 알고 사용하니까 한층 뿌듯했다.
728x90