본문 바로가기
반응형

전체 글322

RecursionError: maximum recursion depth exceeded while calling a Python object 파이썬에서는 기본적으로 재귀함수 호출을 1000으로 제한하고있다. 아래의 방법으로 recursion limit 제한을 커스텀 할 수 있다. import sys sys.setrecursionlimit(9999) 2021. 3. 11.
[백준 1753] 최단경로 대표적인 다익스트라 알고리즘. c++에서는 우선순위 큐를 사용하고 파이썬에서는 heapq를 사용해주자. 이문제가 거지같은점은 cout으로 하면 시간초과나고 printf로 출력하면 통과한다는 것이다. 파이썬은 그냥 스무스하게 통과하는데.... #include #include #include #include using namespace std; vector adj[20001]; int V, E, s; #define INF 987654321 bool visit[20001]; void dikjstra(int start) { memset(visit, 0, sizeof(visit)); int dist[20001]; for (int i = 1; i dist[now])continue; for (pair nextnode.. 2021. 3. 11.
[백준 15649] N과 M (1) www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으.. 2021. 3. 11.
파이썬 heapq 커스텀 정렬 이용하기 파이썬에서 커스텀 정렬을 이용할 때 리턴값을 True False가 아닌 1, -1로 해주어야 함을 확인하였다. 이번에는 여러개의 멤버변수를 가진 클래스를 heapq를 이용해 heap을 만들어줄 때 custom comparator를 어떻게 이용하는지 알아보자. 결론부터 말하면 class 안에 __lt__(self, other) 함수를 재정의 해 주고 return 값은 True False로 해주면 된다. 이유는 간단하다. heapq의 소스코드를 분석해보면 힙정렬을 할 때 연산기호로 < 를 사용하기 떄문에 __lt__ 재정의 해 주어야 한다 위에 보면 연산기호가 < 인것을 확인할 수 있다 import heapq class node: def __init__(self, A, B): self.A = A self.B.. 2021. 3. 10.
파이썬 커스텀 정렬 이용하기 파이썬 3.x 이상 버전 from functools import cmp_to_key def comp(x, y): if x[0] 0 def __eq__(self, other): return mycmp(self.obj, other.obj) == 0 def __le__(self, other): return mycmp(self.obj, other.obj) = 0 __hash__ = None return K 리스트 내부 sort 안에 custom comparator를 넣어주는 케이스도 위와 동일하다. l.sort(key=cmp_to_key(comp)) 파이썬 2.x 버전 def custom_cmp(x, y): if x[0] > y[0]: return True else: return -1 l = [] l.appen.. 2021. 3. 10.
Django에서 Celery 이용하기 두번째 docs.celeryproject.org/en/stable/getting-started/next-steps.html#next-steps Next Steps — Celery 5.0.5 documentation This document describes the current stable version of Celery (5.0). For development docs, go here. Next Steps The First Steps with Celery guide is intentionally minimal. In this guide I’ll demonstrate what Celery offers in more detail, including how to a docs.celeryproject.org 해당 게.. 2021. 2. 28.
Django에 Celery 적용하기 첫번째 https://docs.celeryproject.org/en/stable/django/first-steps-with-django.html First steps with Django — Celery 5.0.5 documentation docs.celeryproject.org 해당 게시물은 위 주소의 사이트의 내용을 기반으로 합니다. 일부 영양가 없는 내용은 제외되었습니다. Django에 Celery 적용하기 첫번째 Celery를 Django에 쓰려면 먼저 Celery 라이브러리 Instance를 정의해야 합니다! 장고에서는 이를 app이라 부르죠. 장고 프로젝트 구조가 아래와 같다고 합시다. - proj/ - manage.py - config/ - __init__.py - settings.py - urls.. 2021. 2. 28.
반응형