전체 글 78

(Python) math

math 자주 사용되는 수학적인 기능을 포함하고 있는 라이브러리이다. 팩토리얼, 제곱근, 최대공약수 등을 계산해주는 기능을 포함하고 있다. factorial(x) 함수는 x! 값을 반환한다. import math print(math.factorial(5)) # 결과 120​ sqrt(x) 함수는 x의 제곱근을 반환한다. import math print(math.sqrt(7)) # 결과 2.6457513110645907​ gcd(a, b) 함수는 최대 공약수를 반환한다. import math print(math.gcd(21, 14)) # 결과 7

Python 2024.01.30

(Python) Collections

deque 연속적으로 나열된 데이터의 시작 부분이나 끝부분에 데이터를 삽입하거나 삭제할 때 매우 효과적이다. 주로 스택, 큐 자료구조의 대용으로 사용할 수 있다. 첫번째 원소를 제거할 때 popleft()를 사용하며, 마지막 원소를 제거할 때 pop()을 사용한다. 첫번째 인덱스에 원소 x를 삽입할 때, appendleft(x)를 사용하며, 마지막 인덱스에 원소를 삽입할 때 append(x)를 사용한다. 원소를 삽입할 때는 append(), 원소를 삭제할 때는 popleft()를 사용해서 큐 자료구조로 이용할 수 있다. 그러면 먼저 들어온 원소가 항상 먼저 나가게 된다. from collections import deque data = deque([2, 3, 4]) data.appendleft(1) da..

Python 2024.01.30

(Python) bisect

bisect 파이썬에서 이진 탐색을 구현할 때 주로 사용되는 라이브러리이다. 정렬된 배열에서 특정한 원소를 찾아야할 때 매우 효과적이다. bisect_left(), bisect_right() 함수가 가장 중요하게 사용되며, 시간 복잡도는 O(logN)으로 동작한다. bisect_left(a, x) : 정렬된 순서를 유지하면서 리스트 a에 데이터 x를 삽입할 가장 왼쪽 인덱스를 찾는 메소드 bisect_right(a, x) : 정렬된 순서를 유지하도록 리스트 a에 데이터 x를 삽입할 가장 오른쪽 인덱스를 찾는 메소드 from bisect import bisect_left, bisect_right a = [1, 2, 4, 4, 7, 8] x = 4 print(bisect_left(a, x)) print(bi..

Python 2024.01.29

(Python) heapq

heapq Python에서는 힙(heap) 기능을 위해 heapq 라이브러리를 제공한다. heapq는 다익스트라 최단 경로 알고리즘 등 다양한 알고리즘에서 우선순위 큐 기능을 구현하고자 할 때 사용한다. heapq 외에도 PriorityQueue 라이브러리를 사용할 수 있지만, 코딩 테스트 환경에서는 보통 heapq가 더 빠르게 동작하므로 heapq를 이용하도록 하자. Python의 힙(heap)은 최소 힙(min heap)으로 구성되어 있으므로 단순히 원소를 힙에 전부 넣었다가 빼는 것만으로도 시간 복잡도 O(NlogN)에 오름차순 정렬이 완료된다. 보통 최소 힙 자료구조의 최상단 원소는 항상 '가장 작은' 원소이기 때문이다.힙에 원소를 삽입할 때는 heapq.heappush() 메소드를 이용하고, 힙..

Python 2024.01.29

(Python) itertools

itertools Python에서 반복되는 데이터를 처리하는 기능을 포함한 라이브러리이다. 1. permutations 리스트와 같은 iterable 객체에서 n개의 데이터를 뽑아 일렬로 나열하는 모든 경우(순열)를 계산해준다. permutations는 클래스이므로 객체 초기화 이후에는 리스트 자료형으로 변환하여 사용한다. from itertools import permutations data = ['A', 'B', 'C'] result = list(permutations(data, 3))​ 2. combinations 리스트와 같은 iterable 객체에서 n개의 데이터를 뽑아 순서를 고려하지 않고 나열하는 모든 경우(조합)를 계산해준다. combinations는 클래스이므로 객체 초기화 이후에는 리스..

Python 2024.01.29

(Python) 주요 내장 함수

내장 함수 Python이라면 기본적으로 내장되어있는 함수이다. input() : 사용자 입력 print() : 출력 sum() : iterable 객체가 입력으로 주어졌을 때, 모든 원소의 합을 반환한다. result = sum([1, 2, 3, 4, 5]) -> 15​ min() : iterable 객체가 입력으로 주여졌을 때, 가장 작은 값을 반환한다. result = min([7, 3, 5, 2]) -> 2​ max() : 가장 큰 값 반환 result = max(7, 3, 5, 2) -> 7​ eval() : 수학 수식이 문자열 형식으로 입력이 들어올 때, 해당 수식을 계산한 결과를 반환한다. result = eval("(3 + 5) * 7") -> 56​ sorted() : iterable 객체..

Python 2024.01.29