[Python] 백준 10815번: 숫자 카드
https://www.acmicpc.net/problem/10815 [풀이]n개의 카드와 m개의 카드를 모두 비교하면 n * m만큼의 비교횟수가 발생한다.최악의 경우, 50만 x 1천만 = 5조 이것을 1초당 1억회 연산 기준으로 환산하면, 5조는 500초가 걸린다.시간 제한이 2초이므로, 시간 안에 절대로 연산 불가. 때문에, 시간복잡도가 O(1)인 자료구조 set을 활용했다. (자바에서는 HashMap이나 HashSet 등을 활용하면 된다)m개의 카드를 ns의 변수에서 O(1)만큼 확인하므로, 총 시간복잡도는 O(N)이 걸릴 것으로 예상된다. 이 경우, 최악의 경우 1천만이므로, 0.1초 이내로 연산이 가능하다.ns의 카드셋에서 중복되는 경우가 없었기 때문에 가능했다. 참고로, 파이썬에서 lis..
CS/Algorithm
2025. 5. 21.