반응형 성장하기70 ord ord() 함수는 문자의 유니코드 코드 포인트를 나타내는 정수를 반환합니다. 이 함수는 문자열 내의 각 문자에 대해 호출될 수 있습니다. 예시를 통해 ord() 함수를 이해해 보겠습니다: ch = 'A' code = ord(ch) print(code) # 출력: 65 위 예시에서는 문자 'A'의 유니코드 코드 포인트를 ord() 함수를 통해 얻었습니다. 'A'의 유니코드 코드 포인트는 65입니다. ord() 함수는 다양한 문자에 대해 사용될 수 있으며, 문자열 내의 모든 문자에 대해 코드 포인트를 얻을 수 있습니다. 2023. 6. 15. DFS(Depth-First Search)와 BFS(Breadth-First Search) DFS(Depth-First Search) DFS(Depth-First Search)는 그래프 탐색 알고리즘 중 하나로, 깊이를 우선으로 탐색하는 방법입니다. DFS는 한 정점에서 시작하여 이웃한 정점을 방문하고, 해당 정점에서 다시 깊이 우선으로 탐색을 진행합니다. 이러한 방식으로 그래프를 탐색하며, 모든 경로를 탐색하거나 탐색 조건을 만족할 때까지 진행합니다. DFS는 스택(Stack) 또는 재귀 함수를 이용하여 구현할 수 있습니다. 각 정점을 방문했는지 여부를 확인하여 중복 방문을 방지하고, 이웃한 정점 중 아직 방문하지 않은 정점을 선택하여 탐색합니다. DFS는 보통 다음과 같은 순서로 동작합니다: 시작 정점을 방문하고 방문한 정점을 표시합니다. 시작 정점과 이웃한 정점 중에서 방문하지 않은 정점.. 2023. 6. 15. set set은 파이썬에서 제공하는 데이터 컬렉션 타입 중 하나로, 중복되지 않는 요소들의 집합을 나타내는 자료구조입니다. set은 가변(mutable)하며, 순서가 없기 때문에 인덱스로 요소에 접근할 수 없습니다. set은 중괄호 {}를 사용하여 생성하며, 요소들은 쉼표로 구분하여 나열합니다. 예를 들어, my_set = {1, 2, 3}와 같이 생성할 수 있습니다. 또는 set() 생성자를 사용하여 빈 set을 생성할 수도 있습니다. set의 주요 특징과 기능은 다음과 같습니다: 중복된 요소가 없다: set은 중복된 값을 허용하지 않습니다. 같은 값을 여러 번 추가해도 한 번만 저장됩니다. 순서가 없다: set은 요소의 순서를 보장하지 않습니다. 따라서 인덱스로 요소에 접근할 수 없고, 순서에 의존하는 연산.. 2023. 6. 15. permutations 과 combinations permutations과 combinations은 itertools 모듈에서 제공하는 함수로서, 주어진 요소들로 가능한 순열과 조합을 생성해주는 기능을 제공합니다. 1. permutations: permutations(iterable, r=None) 함수는 주어진 iterable에서 요소들의 순열을 생성합니다. 순열은 요소들의 순서를 바꿔서 생성하는 것을 의미합니다. 따라서 순서가 다른 경우에는 다른 순열로 취급됩니다. r 매개변수를 사용하여 생성할 순열의 길이를 지정할 수 있습니다. 기본값은 None으로, iterable의 모든 요소들로 가능한 모든 순열을 생성합니다. 반환값은 순열을 나타내는 튜플들로 이루어진 이터레이터입니다. 2. combinations: combinations(iterable, r.. 2023. 6. 15. 소수찾기와 에라토스테네스의 체 Python에서 소수를 찾는 방법은 다양한 방법으로 구현할 수 있습니다. 여기서는 가장 일반적이고 간단한 방법 두 가지를 소개하겠습니다. 소수 판별 함수: 주어진 숫자가 소수인지 판별하는 함수를 작성합니다. 소수는 1과 자기 자신만을 약수로 가지는 수입니다. def is_prime(n): if n < 2: # 0과 1은 소수가 아님 return False for i in range(2, int(n**0.5) + 1): if n % i == 0: # 약수가 존재하면 소수가 아님 return False return True 위의 함수는 주어진 숫자 n이 소수인지를 판별합니다. 2부터 n의 제곱근까지의 숫자로 나누어 떨어지는지 확인하여 소수인지를 결정합니다. 에라토스테네스의 체(Seive of Eratosth.. 2023. 6. 15. cycle itertools 모듈의 cycle은 반복 가능한 객체의 요소들을 무한히 반복시키는 이터레이터를 생성하는 함수입니다. cycle 함수는 하나의 반복 가능한 객체를 인자로 받습니다. 이 함수를 호출하면 해당 객체의 요소들을 처음부터 끝까지 반복하면서 이터레이터를 생성합니다. 만약 객체의 끝에 도달하면 다시 처음부터 요소들을 반복합니다. 이 과정을 계속 반복하여 무한히 이어지게 됩니다. 예를 들어, 다음과 같이 cycle 함수를 사용하여 리스트의 요소들을 무한히 반복하는 이터레이터를 생성할 수 있습니다: from itertools import cycle my_list = [1, 2, 3] my_cycle = cycle(my_list) for i in range(10): print(next(my_cycle)).. 2023. 6. 15. cmp_to_key cmp_to_key는 파이썬의 functools 모듈에 있는 함수로, 비교 함수를 키 함수로 변환하는 데 사용됩니다. cmp_to_key 함수를 사용하면 이전에 사용되던 cmp 함수를 쉽게 키 함수로 변환할 수 있습니다. cmp_to_key 함수는 다음과 같은 형태로 사용됩니다: from functools import cmp_to_key def compare_func(a, b): # 비교 로직 작성 # a와 b를 비교하여 -1, 0, 1 중 하나를 반환 key_func = cmp_to_key(compare_func) compare_func는 비교 로직을 작성한 함수로, 두 개의 인자 a와 b를 받아 비교하여 -1, 0, 1 중 하나를 반환해야 합니다. 반환 값이 음수인 경우 a가 b보다 작은 것으로 간주.. 2023. 6. 14. PriorityQueue PriorityQueue는 우선순위 큐를 구현한 파이썬의 클래스입니다. 우선순위 큐는 요소들을 저장하고 관리하는 자료구조로, 각 요소는 우선순위를 가지며 우선순위에 따라 처리되는 순서가 결정됩니다. PriorityQueue는 일반적으로 힙(heap) 자료구조를 사용하여 구현되며, 우선순위가 가장 높은 요소가 가장 먼저 처리됩니다. PriorityQueue 클래스는 queue 모듈에 정의되어 있습니다. 사용하기 위해서는 queue 모듈을 import해야 합니다: from queue import PriorityQueue PriorityQueue 객체를 생성하고 요소를 추가하려면 다음과 같이 사용합니다: pq = PriorityQueue() pq.put(item) 여기서 item은 추가할 요소이며, 요소는 (.. 2023. 6. 14. heapq 파이썬의 heap은 힙(heap) 자료구조를 구현하기 위한 모듈인 heapq를 말합니다. 힙은 최댓값 또는 최솟값을 빠르게 찾아내기 위해 설계된 특별한 이진 트리 자료구조입니다. heapq 모듈을 사용하면 리스트를 힙으로 변환하고, 힙에 새로운 요소를 추가하거나 요소를 삭제하는 등의 힙 관련 연산을 수행할 수 있습니다. 이를 통해 최솟값 또는 최댓값을 효율적으로 관리할 수 있습니다. 파이썬의 heapq 모듈은 리스트를 힙으로 다루기 때문에 리스트의 인덱스를 이용하여 힙 내의 요소에 접근할 수 있습니다. 힙은 일반적으로 최소 힙(min heap)으로 구현되어 있어 가장 작은 요소가 항상 루트에 위치하게 됩니다. 최소 힙에서는 루트에 위치한 요소가 최솟값이 되며, 힙 내의 다른 요소들도 일정한 순서를 유지하.. 2023. 6. 14. filter filter 함수는 주어진 함수를 이용하여 iterable에서 조건을 만족하는 요소들로 구성된 새로운 iterable을 생성하는 파이썬 내장 함수입니다. filter 함수는 두 개의 인자를 받습니다. 첫 번째 인자로는 조건을 판단하는 함수(혹은 None)를, 두 번째 인자로는 조건을 검사할 iterable을 전달합니다. filter 함수는 iterable의 각 요소에 대해 조건 함수를 호출하고, 조건 함수가 참(True)을 반환하는 요소만 필터링하여 새로운 iterable을 반환합니다. 일반적으로 filter 함수는 람다 함수와 함께 사용됩니다. 람다 함수는 간단한 익명 함수를 만들 수 있는 방법으로, filter 함수와 함께 사용하기에 편리합니다. 아래는 filter 함수의 사용 예시입니다: # 리스트.. 2023. 6. 14. 이전 1 ··· 3 4 5 6 7 다음 반응형