전체 글
DP- 1로 만들기
- 정수X에 사용할 수 있는 연산은 다음과 같이 세 가지 1. X가 3으로 나누어 떨어지면, 3으로 나눈다. 2. X가 2로 나누어 떨어지면, 2로 나눈다. 3. 1을 뺀다. - 어떤 정수 N에 위와 같은 연산을 선택해서 1을 만드려고 한다. 연산을 사용하는 횟수의 최소값을 구하는 문제 [Top-Down 방식] int go (int n){ if(n==1) return 0; if(d[n] > 0) return d[n]; d[n] = go(n-1) + 1; if(n%2 == 0){ int temp = go(n/2) + 1; if(d[n] > temp) d[n] = temp; } if(n%3 == 0){ int temp = go(n/3) + 1; if(d[n] > temp) d[n] = temp; } retu..
페이지네이션
https://docs.djangoproject.com/en/3.0/topics/pagination/ Pagination | Django documentation | Django Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate docs.djangoproject.com 1. html파일 생성 [pagination.html] {% if page.has_previous %} Previous {% endif %} Page {{page.number}} of {{page.paginator.num_pages}} {% if pag..
다이나믹 프로그래밍
- 큰 문제를 작은 문제로 나눠서 푸는 알고리즘 - 문제에는 크기가 있어야함 - 각각의 작은 문제를 풀고 원래대로 합친다. - Dynamic에 대한 어떠한 의미도 없음 -> 헷갈리지마셈 ㅎㅅㅎ - 다이나믹 알고리즘 : 작은 문제가 중복가능 - 분할정복 알고리즘 : 작은 문제가 중복되지 않음 1. Overlapping Subproblem : 부분문제 겹친다. 2. Optimal Substructure : 최적 부분 구조 * 큰 문제와 작은 문제를 같은 방법으로 풀 수 있다. * 문제의 정답을 작은 문제의 정답에서 구할 수 있다. * 문제를 작은 문제로 쪼갤 수 있다. * 예시(피보나치 수) - 문제 : N번째 피보나치 수를 구하는 문제 - 작은 문제 : N-1번째 피보나치 수를 구하는 문제, N-2번째 피..
PyCharm Git 연동
외부에서 local의 Django run server로의 접속을 허용하는 방법 settings.py ALLOWED_HOSTS = ['*'] runserver 실행할때 python manage.py runserver 0.0.0.0:8000
연결리스트
- 일반적으로 배열을 사용하여 데이터를 순차적으로 저장하고, 나열할 수있다. - 배열을 사용하는 경우 메모리 공간이 불필요하게 낭비될 수 있다. - 배열로 만들었으므로 특정한 위치의 원소에 즉시 접근할 수 있다는 장점이 있다. - 데이터가 들어갈 공간을 미리 메모리에 할당해야 한다는 단점이 있다. - 원하는 위치로 삽입이나 삭제가 비효율적 - 일반적으로 연결리스트는 구조체와 포인터를 함께 사용하여 구현한다. - 연결리스트는 리스트의 중간 지점에 노드를 추가하거나 삭제할 수 있어야 한다. - 필요할 때마다 메모리 공간을 할당 받는다. - 포인터를 이용해 단방향적으로 다음 노드를 가리킨다. - 일반적으로 연결 리스트의 시작 노트를 헤드(Head)라고 하며 별도로 관리한다. - 다음 노드가 없는 끝 노드의 다..
Django 댓글기능 추가
- blog/urls.py from django.urls import path from . import views urlpatterns = [ # loacalhost:8080/ path('', views.post_list, name='post_list'), # localhost:8080/post/5 path('post//', views.post_detail, name='post_detail_test'), # localhost:8080/post/new path('post/new/', views.post_new, name='post_new'), # localhost:8080/post/5/edit path('post//edit', views.post_edit, name='post_edit'), # localh..
Django 템플릿 상속 / 게시판 만들기
1. 템플릿 상속 공통적으로 쓰는 코드를 하나 만들어 놓고 상속받아서 쓰는 것 바뀌는 부분만 block이라는 부분에 싸서 사용 - blog/templates/blog/base.html {% load static %} Django Blog {% block content %} {% endblock %} {% comment "Optional note" %} Server comment {% endcomment %} - blog/templates/blog/post_edit.html {% extends 'blog/base.html' %} {% block content%} {% for post in posts %} published : {{post.published_date}} {{post.title|title}} ..
Django (Migrate / URLConf / View / Template / QuerySet / Bootstrap)
1. admin.ModelAdmin -> list_display 사용하여 admin 게시판 리스트 양식 바꾸기 https://www.kite.com/python/docs/django.contrib.admin.ModelAdmin.list_display Kite - AI Coding Assistant for Python and JavaScript Code faster with Kite’s AI-powered autocomplete plugin for Python and JavaScript developers, featuring Multi-Line Completions. Works 100% locally. www.kite.com 1) 관리자 페이지에서 blog앱에 보이는 게시판 양식을 변경해보자 - 기존: t..