일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 실습
- 그리디알고리즘
- 장고
- 소프트웨어공학
- DFS
- django
- programmers
- 백트래킹
- 동적계획법
- B대면노래방
- 백준
- DP
- 최소스패닝트리
- SQL
- 데이터베이스
- Bellman-Ford
- Planned
- codetree
- 종합설계
- 마라마라빔
- Kruskal
- 알고리즘
- MyPlaylist
- BFS
- 모각코
- 코드트리
- 파이썬
- minimum spanning tree
- 함밥
- 프로그래머스
- Today
- Total
목록전체 글 (242)
Leta Learns
문제 https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 냅색 분명히 학교 수업 때 배웠는데 .. 강의 자료 안 보고 하려니까.... 머리에 쥐날 뻔 했다... 어떤 식으로 풀어야 할 지 감이 안 잡혀서 DP테이블 직접 그렸다. 앞으로 DP 문제 풀 때는 테이블 구상하는 방법을 생각해서 접근해야지. else 부분 max 비교 대상을 찾는 게 관건이었고 그것만 하면 어렵지 않았다. n..
문제 https://www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 학교 수업에서 DP 배울 때 LCS 배웠어서 겁먹지 않고 풀 수 있었다. 수업 때 교수님이 코드까지 주신 줄 알았는데 찾아보니 코드 없이 이론만 있었어서 직접 코드 짜는데 시간이 좀 걸리긴 했다. 처음엔 아무 생각 없이 교수님이 주신 pseudo-code 보고 그냥 짜다가 DP 문제라는 걸 깨닫고 바로 노선 변경ㅋㅋ 자꾸 인덱스 에러가 나서 애 좀..
• DFS (깊이 우선 탐색) 그래프 : 하나의 정점으로부터 시작, 차례대로 모든 정점들을 한 번씩 방문하는 것. DFS (Depth-First-Search, 깊이 우선 탐색) : 루트 노드 (or 다른 임의의 노드)에서 시작해서 다음 분기(branch)로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법. ex) 미로 탐색 시 한 방향으로 갈 수 있을 때까지 계속 가다가 더 이상 갈 수 없게 되면 다시 이전의 갈림길로 돌아와서 다른 방향으로 다시 탐색. => 즉, 넓게(wide) 탐색하기 전에 깊게 (deep) 탐색. 모든 노드를 방문하고자 하는 경우에 선택하는 방법. • DFS의 과정 1. 시작 노드 A 방문 (방문 표시) 2. A와 인접한 노드 차례로 방문 3. A와 인접한 노드 B의 이웃 노드들도..
[4] pybo/forms.py에 장고 폼 작성하기 from django import forms from pybo.models import Question class QuestionForm(forms.ModelForm): class Meta: model = Question fields = ['subject', 'content'] 장고 폼 : forms.Form을 상속받는 폼, forms.ModelForm을 상속받는 모델 폼 (2가지로 구분 가능) 모델 폼 : 모델과 연결된 폼, 모델 폼 객체를 저장하면 연결된 모델의 데이터 저장 가능. 장고 모델폼은 내부 클래스로 Meta 클래스를 반드시 가져야 함. Meta 클래스에는 모델 폼이 사용할 모델과 모델의 필드들을 적어야 한다. ex) QuestionForm..
2-05 URL 더 똑똑하게 사용하기 헷갈리므로 링크 전체 참고할 것. 참고 : wikidocs 점프 투 장고 https://wikidocs.net/70741 URL 네임스페이스 알아보기 pybo/urls.py 에 네임스페이스 추가하려면 app_name 변수에 네임 스페이스 이름 저장하면 됨. app_name = 'pybo' 2-06 답변 등록 기능 만들기 csrf (사이트 간 요청 위조, 크로스 사이트 요청 위조, Cross-site request forgery) : 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격. 사용자가 웹사이트에 로그인한 상태에서 csrf 공격 코드가 삽입된 페이지를 열면, 공격 대상이 되는 웹사이트는 위조된 공격명령을 믿을 수 있는 ..
1. 동적계획법 : 큰 문제를 여러 개의 작은 부분으로 분할하여 해결하는 기법. 2. DP vs. Divide & Conquer Dynamic Programming Divide & Conquer 공통점 큰 문제를 여러 개의 작은 문제로 나눠서 해결한다. 차이점 작은 문제에서 중복 O 작은 문제에서 중복 X 3. DP의 조건 1) 작은(부분) 문제들이 중복된다. -> 부분 문제 한 번만 계산한 후 그 해를 테이블에 저장. -> 그 부분 문제가 중복될 때마다 테이블에서 미리 저장해둔 해를 반환. 2) 최적 부분 구조를 가진다. -> 작은 문제의 해로부터 큰 문제의 해를 구할 수 있음. 4. How To Solve DP Top-Down / 재귀함수를 사용하는 방식 (Memoization) -> 시간복잡도 문제..
질문 목록 기능 구현하기 [1] Question 모델 데이터 작성일시 역순으로 조회하기 question_list = Question.objects.order_by('-create_date') order_by 함수 : 조회한 데이터를 특정 속성으로 정렬 -create_date : - 기호가 앞에 붙어있음 => 작성일시의 역순 [2] render로 화면 출력하기 return render(request, 'pybo/question_list.html', context) return 함수 : context에 있는 Question 모델 데이터 question_list를 pybo/question_list.html 파일에 적용하여 HTML 코드로 변환. 장고에서는 이런 파일 (pybo/question_list.html..
슈퍼 유저 생성 : python manage.py createsuperuser admin.py 장고 셸로 수행했던 데이터 저장, 수정, 삭제 등의 작업을 장고 Admin에서 할 수 있음. from django.contrib import admin from .models import Question class QuestionAdmin(admin.ModelAdmin): search_fields = ['subject'] #장고 Admin에서 제목으로 질문을 검색할 수 있도록 검색 항목 추가. admin.site.register(Question) #Question 모델을 장고 Admin에 등록. 참고 : wikidocs 점프 투 장고 https://wikidocs.net/70718
admin, auth, content types, sessions 앱은 장고 프로젝트를 만들 때 기본으로 생성되어 설치. BASE_DIR : 프로젝트 디렉터리 python manage.py makemigrations : 테이블 작업 파일 생성 python manage.py migrate : 실제 테이블 생성 (ok 짱 많이) models.py 클래스로 생성. 어떤 모델이 다른 모델을 속성으로 가지면 ForeignKey 이용 (다른 모델과의 연결을 의미) on_delete=models.CASCADE : 답변에 연결된 질문이 삭제되면 답변도 함께 삭제 (Answer 모델) 모델 만든 후 settings.py 에서 앱 추가. ( INSTALLED_APPS = ) 앱 추가 안 하면 -> 장고가 앱 인식 X ->..
앱 생성 : django-admin startapp [name] 개발 서버 구동 : python manage.py runserver urls.py urlpatterns = [ path('admin/', admin.site.urls), path('pybo/', views.index), ] => path 함수를 사용하여 pybo/URL과 views.index를 매핑. (views.index => views.py의 index 함수를 의미) 이런 식으로 url과 view 함수를 매핑한다. URL 매핑에는 호스트명과 포트 생략, 끝에는 슬래시 붙이기. views.py from django.http import HttpResponse def index(request): return HttpResponse("안녕하세..