22233번: 가희와 키워드백준/문제2024. 3. 25. 14:29
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/22233
언어 : Kotlin
문제 설명 :
가희는 블로그를 운영하고 있습니다. 가희는 블로그에 글을 쓰기 위해, 메모장에 키워드를 적곤 합니다.
지금까지 메모장에 써진 키워드는 모두 서로 다르며, 총 N개가 존재합니다.
가희는 새로운 글을 작성할 때, 최대 10개의 키워드에 대해서 글을 작성합니다.
이 키워드들 중에 메모장에 있었던 키워드는 가희가 글을 쓴 이후, 메모장에서 지워지게 됩니다.
가희는 블로그에 글을 쓰고 나서, 메모장에 있는 키워드 개수가 몇 개인지 알고 싶습니다. 가희를 도와주세요.
입력 :
첫 번째 줄에 가희가 메모장에 적은 키워드 개수 N, 가희가 블로그에 쓴 글의 개수 M이 공백으로 구분해서 주어집니다.
2번째 줄부터 N+1번째 줄까지 메모장에 적은 키워드 N개가 주어집니다.
N+2번째 줄부터 N+M+1번째 줄까지, 가희가 쓴 글과 관련된 키워드가 , (쉼표)로 구분해서 주어집니다. 공백으로 구분되지 않음을 유의해 주세요.
출력 :
x번째 줄에는 x번째 글을 쓰고 난 후에 메모장에 남아 있는 키워드의 개수를 출력해 주세요.
제한 사항 :
- 시간 제한 : 1.5초
- 메모리 제한 : 512MB
- 1 ≤ N ≤ 2×105
- 1 ≤ M ≤ 2×105
- 1 ≤ 글에 있는 키워드 개수 ≤ 10
- 1 ≤ 키워드 길이 ≤ 10
- 키워드는 소문자와 숫자로만 이루어져 있습니다.
- 메모장에 있는 키워드 이름은 중복되지 않습니다.
- 글에 있는 키워드 이름은 중복되지 않습니다. 그러나, 한 키워드는 여러 글에 있을 수 있습니다
입출력 예 :
입력 | 출력 |
5 2 map set dijkstra floyd os map,dijkstra map,floyd |
3 2 |
2 2 gt26cw 1211train kiwoom,lottegiant kbo |
2 2 |
풀이 :
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 set = HashSet<String>(n)
repeat(n) {
set += readLine()
}
repeat(m) {
val post = readLine().split(",")
post.forEach {
set.remove(it)
}
bw.appendLine("${set.size}")
bw.flush()
}
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
11383번: 뚊 (0) | 2024.03.26 |
---|---|
5363번: 요다 (0) | 2024.03.26 |
15813번: 너의 이름은 몇 점이니? (0) | 2024.03.25 |
15927번: 회문은 회문아니야!! (0) | 2024.03.25 |
28074번: 모비스 (0) | 2024.03.22 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!