일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 다이나믹 프로그래밍
- 브루트포스
- 재귀
- level1
- level0
- BFS
- 백준
- BOJ
- 가상메모리 관리
- 코딩테스트
- dict
- DP
- level3
- 다익스트라
- MYSQL
- N과M
- 파이썬
- 딕셔너리
- dfs
- 스택
- 그리디
- 프로그래머스
- level2
- 구현
- 힙
- 가상메모리
- programmers
- python
- 운영체제
- 수학
- Today
- Total
목록DP (16)
동캄의 코딩도장
https://programmers.co.kr/learn/courses/30/lessons/42897 코딩테스트 연습 - 도둑질 도둑이 어느 마을을 털 계획을 하고 있습니다. 이 마을의 모든 집들은 아래 그림과 같이 동그랗게 배치되어 있습니다. 각 집들은 서로 인접한 집들과 방범장치가 연결되어 있기 때문에 인접한 programmers.co.kr #프로그래머스 도둑질 def solution(money): answer = 0 dp=[0]*(len(money)) dp[0]=money[0] dp[1]=money[1] dp[2]=money[2]+money[0] for i in range(3,len(money)-1): dp[i]=money[i]+max(dp[i-2],dp[i-3]) answer=max(dp) dp=..
https://programmers.co.kr/learn/courses/30/lessons/12905 코딩테스트 연습 - 가장 큰 정사각형 찾기 [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] 9 programmers.co.kr 처음에는 어떻게 풀어야할지 막막해서 고민을 하다. 3중 for문을 통해 문제를 해결하려 했다. #프로그래머스 가장 큰 정사각형 찾기 def solution(board): line=0 N=len(board) M=len(board[0]) for i in range(N): l=[1]*(M) for j in range(i,N): count=0 cnt=0 for k in range(M): l[k]=board[j][k]*l[k] if l[k]==1: count+=..
https://www.acmicpc.net/problem/14606 14606번: 피자 (Small) 예제1의 입력이 1이므로, 게임 시작부터 갑이 분리할 수 있는 피자탑이 없습니다. 따라서 갑이 얻는 즐거움은 0입니다. 예제2의 정답 3은 다음과 같은 과정을 통해 얻어집니다. 먼저 놀이를 시작 www.acmicpc.net #14606 n=int(input()) dp=[0]*(n+1) for i in range(1,n+1): for _ in range(1,i+1): dp[i]=dp[i//2]+dp[i-i//2]+(i//2)*(i-i//2) print(dp[n]) 1부터 시작해서 n까지 DP 값을 갱신해나간다. i번째 값은 (i//2 박스를 나눌 때의 즐거움) + (i-i//2 박스를 나눌 때의 즐거움) ..
https://www.acmicpc.net/problem/13699 13699번: 점화식 다음의 점화식에 의해 정의된 수열 t(n)을 생각하자: t(0)=1 t(n)=t(0)*t(n-1)+t(1)*t(n-2)+...+t(n-1)*t(0) 이 정의에 따르면, t(1)=t(0)*t(0)=1 t(2)=t(0)*t(1)+t(1)*t(0)=2 t(3)=t(0)*t(2)+t(1)*t(1)+t(2)*t(0)=5 ... 주어진 입력 0 ≤ n www.acmicpc.net #13699 n=int(input()) dp=[0]*(n+1) dp[0]=1 for i in range(1,n+1): for j in range(i-1,-1,-1): dp[i]+=dp[j]*dp[i-1-j] print(dp[n]) DP를 이용하여 값을..