django.contrib.admin 앱을 통해 제공 - default 경로 : /admin/ => 실제 서비스에서는 다른 주소로 변경 권장 - django-admin-honeypot 앱을 통해 가짜 admin 페이지를 노출시키면 로그인을 시도한 id, ip 등을 수집한다. admin.py in App - 앱 내의 models.py에서 생성한 모델 객체를 admin에서 관리할 수 있게 등록해준다. __str__(던더 string) - admin에서 목록을 볼 때 모델 객체 내의 정보를 Java의 toString처럼 string으로 보기 위해 던더 string을 사용한다. List Display from admin.py in App - 앱 내의 admin.py에서 list_display를 통해 attrib..
python manage.py startapp instagram(앱이름) - instagram 앱이름의 앱 생성 settings.py in Project - installed app에 생성된 앱 추가 urls.py in App - urlpatterns 리스트 생성 models.py in App - 앱 내의 models.py에서 모델을 생성 - DateTimeField의 auto_now_add는 새로운 내용을 생성시 현재 시간을 새롭게 적어 만들어주는 옵션 - auto_now는 이미 존재하는 시간값을 새로운 글을 작성할 때의 현재 시간으로 갱신해주는 옵션 python manage.py makemigrations instagram - instagram 앱에 존재하는 models.py의 모델 객체를 sql로 ..
문제 www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net 문제 상황 - 11은 올 수 없다, 0으로 시작할 수 없다는 두가지 규칙으로 수를 만들 때, 입력받은 N자리 수로 가능한 이친수를 계산한다. 해결 전략 - 가능한 수의 개수를 결정하는 것은 결국 1의 자리이다. 1의 자리를 관찰하고 그 수를 기록한다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 from sys import stdin input = stdin.readline N =..
문제 www.acmicpc.net/problem/11057 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수� www.acmicpc.net 문제 상황 - 자리수 N이 주어질 때, N자리의 오르막 수의 개수를 출력한다. 해결 전략 - 결국 포인트는 마지막 자리수이다. 즉, N자리의 수는 N-1자리 수에 끝에 오르막을 유지할 수 있는 수를 붙이는 구조이다. 이전 값을 저장하며 관찰하므로 memoization을 활용한다. 코드 1 2 3 4 5 6 7 8 from sys import stdin input = s..
문제 www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 문제 상황 - 각자리 숫자의 차가 1씩 나는 수를 만들 때 자리수마다 만들 수 있는 수의 개수를 구한다. 해결 전략 - N자리 숫자는 N-1자리 숫자의 끝에 숫자를 붙이는 구조인데, N-1자리의 1의 자리가 0 또는 9인 경우는 두가지가 아니라 1가지 숫자만 올 수 있다. 결국 number_(N) = number_(N-1) * 2 - (1의 자리가 0 또는 9인 경우의 수)가 된다. 이 때 1의 자리가 0 또는 9인 경우의 수는 N-2에서 1 또는 8의 개수가 된다. 코드 1 2 3 4 5 6 7 8 9 10 11 12..
문제 www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 문제 상황 - 입력받은 정수 N을 숫자 1,2,3의 합을 이용해서 표현할 수 있는 방법의 수를 구한다. 해결 전략 - N을 표현하는 방법의 수는 N-1을 표현하는 방법에 1을 더하거나, N-2를 표현하는 방법에 2를 더하거나, 아니면 N-3을 표현하는 방법에 3을 더하는 경우이므로 항이 3개인 피보나치가 된다. 코드 1 2 3 4 5 6 7 8 9 10 from sys import stdin input = stdin.readline T = int(input()) for _ in range(T): N = ..
문제 www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 문제 상황 - 연산 3가지를 이용해서 주어진 정수를 1로 만드는데 필요한 최소한의 연산 횟수를 출력한다. 해결 전략 - 부분 문제의 중복이 발생하므로 동적 계획법을 활용한다. 연산이 3개이므로 각각의 경우를 나누어 연산한다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 from sys import stdin input = stdin.readline N = int(input()) cache = [0,0,1,1] + [0]*(N-3) counts = 0 for i in range(4..
문제 www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net 문제 상황 - 666이 들어가게 하여 666부터 1666으로 시작하여 n번째 숫자를 찾는다. 해결 전략 - dp문제라고 안내를 받았는데 풀이의 대부분은 brute force였다. 문제는 범위인 10000 이내에 숫자의 범위를 알수가 없어 속도 이슈가 발생할지 아닌지 알 수가 없다.(결과적으로 10000번째 요소는 2666799으로 속도는 매우 여유가 있다.) 코드 1 2 3 4 5 6 7 8 9 10 1..
- Total
- Today
- Yesterday
- 섬의개수#백준알고리즘#Python
- Brackets#Stacks and Queues#Codility#Python
- 날짜 계산#BOJ#완전탐색#Python
- 텀 프로젝트#백준알고리즘#Python
- 토마토#백준알고리즘#Python
- 터틀비치#리콘#xbox#controller
- Swift#Tuples#Range
- NumberofDiscIntersections#Codility#Sort#Python
- PassingCars#Codility#Python
- Triangle#Sorting#Codility#Python
- 쿼드트리#BOJ#분할정복#Python
- 병든 나이트#BOJ#탐욕법#Python
- 백준 알고리즘#BackTracking
- 나무자르기#BOJ#이분탐색#Python
- filter#isalnum#lower
- 암호코드#dp#BOJ#Python
- 배열합치기#분할정복#BOJ#Python
- 미로 탐색#백준알고리즘#Python
- Distinct#Codility#Python
- API#lazy#
- 파이썬알고리즘인터뷰#4장
- 공유기 설치#BOJ#이분탐색#Python
- 종이자르기#분할정복#BOJ#Python
- N으로 표현#DP#Programmers#Python
- django#slicing
- 순열사이클#BOJ#Python
- 반복수열#백준알고리즘#Python
- django
- 랜선자르기#이분탐색#BOJ#Python
- 리모컨#완전탐색#BOJ#Python
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |