시간초과(2)
-
BOJ 1927. 최소 힙 (Python)
BOJ 1927. 최소 힙 https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 풀이 heapq를 이용해서 풀었다. 주의할 점 두가지는, python3로 제출할 경우 시간초과, pypy3로 제출 input()으로 할 시 시간초과, sys.stdin.readline().rstrip()로 할 것 python heapq 모듈 input()과 sys.stdin 소스코드 import heapq from sys import stdin N =..
2021.02.23 -
BOJ 1764. 듣보잡 (Python)
BOJ 1764. 듣보잡 1764번: 듣보잡 (acmicpc.net) 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 풀이 파이썬의 x in y를 이용해서 풀었더니 시간 초과가 났다. N과 M이 500,000 이하의 큰 수라 연산하는 것이 오래걸리나 싶어서 탐색을 이진탐색 으로 바꾸어 풀었다. 이진탐색(binary seart)는 O(NlogN) 파이썬 내장함수 sort()는 O(logN)이므로 이진탐색이 더 좋다. def binary_search(start, end, list, target, result):..
2021.02.19