Programming language/Python

    [python] pow, 제곱, 거듭제곱과 나머지

    [python] pow, 제곱, 거듭제곱과 나머지

    📗 파이썬에서 거듭제곱과 나머지를 구할 때! 속도 차이 🔵 pow(a,b) vs a**b 100의 100승을 구할 때 입력 방법 속도 100**100 0.8038559000000001 pow(100, 100) 0.8454946999999997 - 거듭제곱을 했을 때는 ** 을 쓰는것이 조금 더 빠르다. 하지만!! 🔵 pow(a,b,c) vs a**b%c 100의 100승을 100으로 나눈 나머지를 구할 때 입력 방법 속도 100**100%100 1.1507907 pow(100, 100, 100) 0.6850590000000001 - 나머지까지 했을 때는 pow가 훨씬 빠르다!! pow를 써보자 🔵 예외... 1000의 1승을 100으로 나눈 나머지 입력 방법 속도 100**10%10 0.007485599..

    [python] input, sys.stdin.readline

    [python] input, sys.stdin.readline

    📗 파이썬 알고리즘 풀 때!! 입력 속도 문제 🔵 input vs sys.stdin.readline 천만개의 숫자를 한줄한줄 입력받을 때의 속도 입력 방법 속도 input() 12.5초 sys.stdin.readline() 4.5초 결론: 여러줄을 입력받을 때는 input() 대신 sys.stdin.readline() 를 쓰자 출처: BACKJOON ONLINE JUDGE 링크: https://www.acmicpc.net/blog/view/56 입력 속도 비교 여러가지 언어와 입력 방법을 이용해서 시간이 얼마나 걸리는지 비교해 보았습니다. 방법: 첫째 줄에 정수의 개수 N (= 10,000,000), 둘째 줄부터 N개의 줄에 한 개의 자연수(10,000 이하)가 적힌 파일�� www.acmicpc.net

    [python] heapq(힙큐, 우선순위큐)

    [python] heapq(힙큐, 우선순위큐)

    📗heapq란? 간단하게 리스트내에서 가장 작은 값이 맨처음위치(인덱스 0)애 오게 해주는 내장 모듈 우선순위 큐라고 알면 쉽다. 🔵 시작하기 import heapq 🔵 선언하기 보통 리스트를 선언하는 것처럼 만든다. heap_list = [] 🔵 원소 추가하기 ( heapq.heappush(리스트, 값 )) - 아래 보이는 것 처럼 가장 작은 값이 맨 처음 위치에 왔다. 시간복잡도 O(logn) heapq.heappush(heap_list, 5) heapq.heappush(heap_list, 10) heapq.heappush(heap_list, 99) heapq.heappush(heap_list, 2) print(heap_list) # [2, 5, 99, 10] 🔵 원소 삭제하기 ( heapq.heap..