-
백준 14425 - 문자열 집합BOJ-Algorithm 2023. 2. 13. 22:40
https://www.acmicpc.net/problem/14425
14425번: 문자열 집합
첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어
www.acmicpc.net
a,b = map(int, input().split()) arr = set() ans = 0 for i in range(a): arr.add(input().strip()) for j in range(b): checker = input().strip() if checker in arr: ans+=1 print(ans)
리스트로 값을 받아 체크하려면 오래 걸리지만, hash table 형태의 set()은 데이터가 얼마나 많든 상수 시간 내에(O(1)) 값을 찾아주므로 이런 문제에서 시간복잡도를 줄이는 데 적합하다. set()의 특징만 잘 알면 전혀 걱정할 일이 없는 문제.
간만에 풀어서 좀 쉬운 거 해 봤다.
'BOJ-Algorithm' 카테고리의 다른 글
백준 2003 - 수들의 합 (0) 2023.02.14 백준 1269 - 대칭 차집합 (0) 2023.02.13 programmers lv2 - 이진 변환 반복하기 (2) 2022.11.14 프로그래머스 lv2 - JadenCase 문자열 만들기 (1) 2022.11.14 프로그래머스 lv2 - 영어 끝말잇기 (0) 2022.11.11