Brute Force(무차별 대입) brute force 방법은 문제를 해결하기 위해 가능한 모든 경우의 수를 탐색하는 방식입니다. 이 방식은 일반적으로 효율성이 떨어질 수 있지만, 모든 경우를 체크하기 때문에 정확한 답을 찾을 수 있습니다. 접근 방법: 가능한 모든 조합을 생성하거나 탐색합니다. 효율성: 일반적으로 느리며, 복잡도가 높을 수 있습니다. 대부분의 경우, 시간 복잡도는 O(n!) 또는 O(2^n)입니다. 적용 분야: 정확한 답이 필요하고, 입력 크기가 작은 경우에 사용할 수 있습니다. 예 두 숫자 중 두 개를 선택하여 합이 목푯값과 같은 경우를 찾는 예시 코드입니다. Python def findSumPairBruteForce(nums, target): n = len(nums) for i i..
재귀 함수(Recursive Function)이란? 재귀 함수는 함수 내에서 자기 자신을 다시 호출하는 함수를 의미합니다. 이를 통해 반복적인 작업을 수행할 수 있습니다. 재귀 함수의 구조 def 재귀함수(): if 종료_조건: return 결과 ... 재귀함수() ... 예 팩토리얼은 재귀 함수의 대표적인 예시입니다. def factorial(n): if n == 1: return 1 return n * factorial(n - 1) factorial(5)를 호출한다고 가정하면, 아래와 같은 과정을 거치게 됩니다. 첫 번째 호출: factorial(5)가 호출됩니다. n = 5이므로, 5 * factorial(4)를 반환해야 합니다. factorial(4)를 호출하기 위해 다음 단계로 넘어갑니다. 두 ..
values_list()는 Django 쿼리셋(QuerySet) 메서드 중 하나로, 데이터베이스에서 특정 필드들만 가져올 때 사용됩니다. 이 메서드는 특정 필드들에 대한 튜플들의 리스트를 반환합니다. 예시 # 예시 모델 class MyModel(models.Model): name = models.CharField(max_length=100) age = models.IntegerField() gender = models.CharField(max_length=100) height = models.IntegerField() # values_list() 사용 queryset = MyModel.objects.values_list('name', 'age') 위의 예시에서 values_list('name', 'age..
선택 정렬 알고리즘(selection sort) 리스트 중에서 최소값을 찾습니다. 그 값을 리스트의 맨 앞에 위치한 값과 바꿉니다. 맨 처음 위치를 제외한 나머지 리스트를 대상으로 위의 과정을 반복합니다. Python 코드 def selection_sort(arr: list[int]) -> list[int]: length: int = len(arr) # 배열 전체를 반복하면서 for index_1 in range(length): min_index: int = index_1 # 현재 위치에서 가장 작은 원소를 찾습니다. for index_2 in range(index_1 + 1, length): if arr[min_index] > arr[index_2]: min_index = index_2 # 가장 작은 ..
annotate() 메서드는 Django 쿼리셋에서 사용되는 함수 중 하나로, 데이터베이스에서 집계된 값을 추가하는 데 사용됩니다. annotate() 메서드를 사용하면 원하는 필드 값을 가져오고 그 값을 기반으로 새로운 필드를 생성할 수 있습니다. annotate(aggregate_expression, ...) aggregate_expression: 필드 값을 계산하기 위한 집계 식을 지정합니다. 일반적으로 Django의 django.db.models 모듈에 있는 집계 함수들을 사용합니다. 예를 들어, Count(), Sum(), Avg(), Min(), Max() 등이 있습니다. annotate() 메서드는 쿼리셋의 결과에 대해 각 필드 값에 대한 집계를 수행하고, 결과에 추가된 필드를 포함한 새로운..
Django와 같은 Python 기반 프레임워크에서 *args와 **kwargs는 함수나 메소드에 임의의 개수의 인자를 전달하는데 사용되는 문법입니다. *args: *args는 임의의 개수의 위치 인자를 함수나 메소드로 전달하는데 사용됩니다. 이를 통해 함수나 메소드는 미리 정해지지 않은 개수의 인자를 받을 수 있습니다. *args는 튜플 형태로 인자를 전달받습니다. **kwargs : **kwargs는 임의의 개수의 키워드 인자를 함수나 메소드로 전달하는데 사용됩니다. 이를 통해 함수나 메소드는 미리 정해지지 않은 개수의 키워드 인자를 받을 수 있습니다.**kwargs\는 딕셔너리 형태로 인자를 전달받습니다. 참고 위치인자, 키워드 인자란 : https://yesaroun.tistory.com/entr..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.