Python 4

[Python] 자료구조 - 최소힙, 최대힙 정리 및 백준 1715번

안녕하세요 알고리즘 공부를 하다가 힙 문제가 나와서 정리를 해서 블로그에 정리를 해보려고 하는데요 다들 참고하고 부족하신건 댓글로 달아주세요 힙 자료구조 힙은 특정한 규칙을 가지는 트리로, 최댓값과 최솟값을 찾는 연산을 빠르게 하기 위해 고안된 완전 이진트리 기본으로 한다. 각 노드의 key 값이 해당 노드의 자식 노드의 key 값보다 작지 않거나 크지 않은 완전 이진트리 키 값의 대소 관계는 부모-자식 노드 사이 간에만 성립하며 형제 노드 사이에는 영향을 미치지 않음 자식 노드의 최대 개수는 힙의 종류에 따라 다르지만 이진트리에서는 최대 2개(완전 이진트리를 사용한다고 가정) i번째 노드의 자식 노드가 2개인데 왼쪽 자식 노드는 2i, 오른쪽 자식 노드는 2i+1이고, 부모노드는 i/2가 됩니다. 최소..

python 2022.09.16

[Python]DP - 동적계획법

안녕하세요!! Python 알고리즘을 공부하면서 알고리즘에 대해서 자세히 정리를 해보려고 하는데요 개념적으로 알고 있으면 코딩 테스트할 때 도움이 되지 않을 까..? 생각해서 정리를 해보겠습니다. 동적 계획법(DP, Dynamic Programming) 큰 문제를 작은 문제로 나눌 수 있다 작은 문제에서 구한 정답을 그것을 포함하는 큰 문제에서도 동일하다 피보나치 수열은 다이내믹 프로그래밍의 사용 조건을 만족합니다. 재귀 함수를 이용하다 보면 러닝타임이 기하급수적으로 늘어남을 관찰을 할 수 있습니다. 이러한 문제를 해결하기 위해 다이내믹 프로그래밍을 사용해야 한다. 다이내믹 프로그래밍의 포인트는 바로 한 번 결과를 수행한 것을 메모리에 저장해 놓고 다음에 똑같은 결과가 필요하면 그때 다시 연산하지 않고 ..

python 2022.09.03

[Django] DRF 검색 필터

안녕하세요 요즘 스프링 공부하는데 신경을 써서 Django 공부를 게을리하였는데요 복습하는 김에 블로그에 정리를 하려고 합니다. DRF에서 filter 부분에 대해서 자세히 설명해드리겠습니다. Filtering 먼저 해당 패키지를 설치를 합니다. pip install django-filter settings.py의 rest_framework의 옵션에 filter를 사용을 합니다. # settings.py REST_FRAMEWORK = { ............. "DEFAULT_FILTER_BACKENDS": [ "django_filters.rest_framework.DjangoFilterBackend", ], ............. } views.py 부분에서 검색 필터 부분을 설정을 해보겠습니다. ..

python 2022.08.25

[알고리즘] Python 재귀함수

안녕하세요 알고리즘 공부를 하면서 블로그에 정리를 할려고 하는데요 Java를 공부하면서 알고리즘 파이썬을 하다니... 파이썬이 쉬우니깐요 ^^ 그래도 알고리즘은 어렵습니다. 한개한개 미션 클리어 하는 느낌으로 블로그를 작성해볼게요 파이썬 재귀함수 파이썬에서 사용하는 함수는 아니고요. 모든 프로그래밍 언어에서 함수 안에서 함수 자기자신을 호출하는 방식을 재귀호출(recursive call)이라고 합니다. 재귀호출은 일반적인 상황에서는 잘 사용하지 않지만 알고리즘을 구현할 때 매우 유용합니다. 예를 들어서 DFS(깊이 우선 탐색) 이라던가 집합의 합이라던가 팩토리얼 등 다양한 곳에 사용을 할 수가 있습니다. 재귀함수 사용 간단하게 재귀호출 함수를 만들어 보겠습니다. def hello(): print("Hel..

python 2022.08.07