반응형 성장하기/Python41 maketrans 와 translate str.translate() 메서드와 str.maketrans() 함수는 문자열의 변환과 관련된 기능을 제공하는 파이썬의 문자열 메서드와 함수입니다. str.maketrans() str.maketrans() 함수는 변환 테이블을 생성하는 데 사용됩니다. 이 함수는 두 개의 문자열을 인자로 받아, 문자열 간의 일대일 대응 변환을 나타내는 테이블을 생성합니다. str.maketrans(x, y, z) x: 변환할 문자를 나타내는 문자열. 이 문자열의 각 문자는 대응되는 문자열 y의 동일한 위치의 문자로 변환됩니다. x와 y는 길이가 같아야 합니다. y: 변환 결과로 대응되는 문자를 나타내는 문자열. 이 문자열의 각 문자는 대응되는 문자열 x의 동일한 위치의 문자로 변환됩니다. z: 삭제할 문자를 나타내는 문.. 2023. 6. 16. dataclass Python의 dataclass는 typing 모듈에 속한 데코레이터입니다. 이 데코레이터를 사용하면 데이터를 담는 클래스를 간편하게 정의할 수 있습니다. dataclass를 사용하면 다음과 같은 이점을 얻을 수 있습니다: 속성의 자동 생성: dataclass를 사용하면 클래스의 속성을 선언할 필요 없이, 데코레이터를 적용한 클래스의 변수들이 속성으로 자동 생성됩니다. __init__ 메서드의 자동 생성: dataclass를 사용하면 __init__ 메서드를 정의하지 않아도 됩니다. 자동으로 생성되며, 속성을 초기화하는 역할을 합니다. __repr__, __eq__, __hash__ 등의 메서드 자동 생성: dataclass를 사용하면 __repr__, __eq__, __hash__ 등과 같은 일반적으로.. 2023. 6. 16. yield yield는 파이썬에서 함수를 제너레이터(generator)로 만들어주는 키워드입니다. 제너레이터는 값을 생성해주는 이터레이터(iterator)를 생성하는 함수입니다. 이터레이터는 next() 함수를 사용하여 값을 한 번에 하나씩 반환하는 객체입니다. yield를 사용하여 함수를 제너레이터로 만들면, 함수가 호출될 때마다 실행이 중단되고 값을 반환합니다. 그리고 함수의 상태는 유지되며, 다음에 호출될 때 중단된 지점에서부터 다시 실행됩니다. 이를 통해 제너레이터는 순차적인 값을 생성하면서 메모리를 효율적으로 관리할 수 있습니다. 제너레이터 함수를 정의할 때 yield 키워드를 사용하여 값을 생성합니다. 예를 들어, 1부터 시작하여 1씩 증가하는 값을 반환하는 제너레이터 함수를 작성해보겠습니다: def g.. 2023. 6. 16. Union-Find 유니온-파인드(Union-Find)는 집합의 분리와 합병을 효율적으로 수행하기 위한 알고리즘입니다. 이 알고리즘은 상호 배타적인(disjoint) 집합들을 관리하며, 각 집합에 대한 연산을 지원합니다. 유니온-파인드 알고리즘은 대표적으로 다음과 같은 두 가지 연산을 제공합니다: Union(합병) 연산: 두 개의 집합을 합쳐 하나의 집합으로 만듭니다. 즉, 두 개의 원소가 속한 집합을 찾아서 하나의 집합으로 합병합니다. Find(찾기) 연산: 특정 원소가 속한 집합을 찾습니다. 즉, 특정 원소가 어떤 집합에 속해 있는지를 확인합니다. 유니온-파인드 알고리즘은 대표적으로 상호 배타적 집합(disjoint set)을 관리하기 위해 사용됩니다. 상호 배타적 집합은 원소들이 중복되지 않고 하나의 집합에 속하도록 .. 2023. 6. 16. product 파이썬의 product 함수는 itertools 모듈에 속한 함수로, 주어진 여러 개의 이터러블(iterable) 객체들의 곱집합(cartesian product)을 반환합니다. 곱집합은 각각의 이터러블 객체에서 하나의 원소를 선택하여 조합한 모든 가능한 조합을 의미합니다. product 함수는 다음과 같은 형식으로 사용될 수 있습니다: itertools.product(*iterables, repeat=1) 여기서 iterables는 하나 이상의 이터러블 객체를 나타내며, repeat는 선택적 매개변수로, 각 이터러블 객체를 반복할 횟수를 지정합니다. 기본값은 1입니다. 예를 들어, 다음과 같이 product 함수를 사용할 수 있습니다: import itertools colors = ['red', 'bl.. 2023. 6. 15. 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. 이전 1 2 3 4 5 다음 반응형