Uknow's Lab.
article thumbnail

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

 

14425번: 문자열 집합

첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다.  다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어

www.acmicpc.net

 

난이도 : 실버 3
태그 : 자료구조, 문자열, 해시를 사용한 집합과 맵, 트리를 사용한 집합과 맵

 

 

설명

집합을 하나 만들고, 이 안에 집합 S에 있는 문자열들을 있습니다.

이후, 검사해야 할 문자열들이 집합에 포함되어 있는지 하나씩 검사합니다.

 

소스코드

fun main(): Unit = with(System.`in`.bufferedReader()) {
    val (n, m) = readLine().split(" ").map { it.toInt() }
    val hashSet = HashSet<String>()

    repeat(n) {
        hashSet.add(readLine())
    }

    var cnt = 0
    repeat(m) {
        if (hashSet.contains(readLine())) cnt++
    }

    println(cnt)
}

 

 

후기

해쉬셋을 사용해 풀이한 문제입니다.

해쉬브라운이 먹고 싶네요.

profile

Uknow's Lab.

@유노 Uknow

인생은 Byte와 Double 사이 Char다. 아무말이나 해봤습니다.