목록백준 알고리즘 문제 기록/집합과 맵 (8)
Where who wants to meet someone
난이도 실버 V 문제 https://www.acmicpc.net/problem/7785 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net 내 답안 var companyLog = [String : String]() for _ in 1...Int(readLine()!)! { let input = readLine()!.split(separator: " ").map { String($0) } companyLog.updateValue(input[1], forKey: input[0]..
난이도 실버 III 문제 https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 내 답안 let nm = readLine()!.split(separator: " ").map { Int($0)! } let n = nm[0] let m = nm[1] var s = Set() var texts = [String]() for _ in 1...n { s.insert(readLine()!) } for _ in 1...m { tex..
난이도 실버 V 문제 https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 내 답안 let n = Int(readLine()!)! let nCards = Set(readLine()!.split(separator: " ").map { Int($0)! }) let m = Int(readLine()!)! let mNumbers = readLine()!.split(separator: " ").map { Int($0)! } va..