DP

코딩테스트/코딩테스트 문제풀이

[Python] 프로그래머스 <풍선 터트리기>

https://school.programmers.co.kr/learn/courses/30/lessons/68646 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr def solution(a): # 어떻게 해도 앞뒤 끝에 있는 두수는 남길수 있음 answer = 2 # 정방향 (좌->우) 각 자리까지의 최솟값 저장 dp = [0]*len(a) # 역방향 (우->좌) 각 자리까지의 최솟값 저장 reverse_dp = [0]*len(a) dp[0] = a[0] reverse_dp[-1] = a[-1] for i in range(1,len(a)): dp[i]..

코딩테스트/코딩테스트 문제풀이

[Python] 백준 <2293-동전 1>

https://www.acmicpc.net/problem/2293 import sysinput = sys.stdin.readlineN, K = map(int, input().split())li = list()for _ in range(N): li.append(int(input()))dp = [0]*(K+1)dp[0] = 1# 점화식 : dp[j] = dp[j] + dp[i(동전 종류)]for i in li: for j in range(i, K+1): dp[j] += dp[j-i]print(dp[K])

코딩테스트/코딩테스트 문제풀이

[Python] 백준 <11054-가장 긴 바이토닉 부분 수열>

https://www.acmicpc.net/problem/11054 import sysinput = sys.stdin.readlineN = int(input())li = list(map(int, input().split(" ")))reverse_li = li[::-1]dp = [1]*Nreverse_dp = [1]*Nfor i in range(1, N): for j in range(i): if li[i] > li[j]: dp[i] = max(dp[i], dp[j]+1) if reverse_li[i] > reverse_li[j]: reverse_dp[i] = max(reverse_dp[i], reverse_dp[j]+1)dap = [1]..

코딩테스트/코딩테스트 문제풀이

[Python] 백준 <11053-가장 긴 증가하는 부분 수열>

https://www.acmicpc.net/problem/11053 import sysinput = sys.stdin.readlineN = int(input())li = list(map(int, input().split(" ")))dp = [1]*Nfor i in range(1, N): for j in range(i): if li[i] > li[j]: dp[i] = max(dp[i], dp[j]+1)print(max(dp))

Yang Ji Woo
'DP' 태그의 글 목록