일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Codility
- Dynamic Programming
- kubernetes
- GKE
- LeetCode
- 백준
- Python
- Singleton Pattern
- github
- cpu scheduling
- Programmers
- Observer Pattern
- KAKAO
- GCP
- 그리디
- mobaXTerm
- java
- Top-down
- Kotlin
- k8s
- BubbleSort
- go
- easy
- golang
- 파이썬
- Backjoon
- 알고리즘
- 피보나치
- docker
- Today
- Total
목록Dynamic Programming (9)
To Be Developer
https://programmers.co.kr/learn/courses/30/lessons/43105 알고리즘 연습 - 정수 삼각형 | 프로그래머스 실행 결과가 여기에 표시됩니다. programmers.co.kr [Python 풀이] def solution(triangle): answer = 0 triSize = len(triangle) # 삼각형 배열의 사이즈 dp = [[0 for j in range(i+1)] for i in range(triSize)] # 각 경로의 최대 값을 저장해놓을 배열 dp[0][0] = triangle[0][0] # 높이가 1 일 때는 경우의 수가 1개뿐 if triSize == 1: # 높이가ㅏ 1 일 때는 계산을 마쳤으므로 바로 return return dp[0][0]..
https://leetcode.com/problems/min-cost-climbing-stairs/ Min Cost Climbing Stairs - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com class Solution(object): def minCostClimbingStairs(self, cost): size = len(cost) # cost size dp = [cost[0] if i==0 else cost[1] if i==1 else 0 for i in ..
https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net [Python 풀이] # input 처리 N = int(input()) arr = list(map(int, input().split(" "))) # 최대 10만 까지의 배열을 생성 dp = [None for i in range(100000)] # arr의 합을 저장할 변수 sumData = 0 # dp[0] 은 무조건 arr[0] dp[0] = arr[0] # sumData 에 i 번째 배열까지 최대로 나올..
`https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 문제 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 위 그림은 크기가 5인 정수 삼각형의 한 모습이다. 맨 위층 7부터 시작해서 아래에 있는 수 중 하나를 선택하여 아래층으로 내려올 때, 이제까지 선택된 수의 합이 최대가 되는 경로를 구하는 프로그램을 작성하라. 아래층에 있는 수는 현재 층에서 선택된 수의 대각선 왼쪽 또는 대각선 오른쪽에 있는 것 중에서만 선택할 수 있다. 삼각형의 크기는 1 이상 500 이하이다. 삼각형을 이루고 있는 각 수는 www.acmicpc.net [Python 풀이] # 층의 수 N = int(input()) # 경로마다 가질 수 있는 최대의 값을 저장하는 변수 arr = []..
https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않는다. 이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다. 예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 0010101이나 101101은 각각 1, 2번 규칙에 위배되 www.acmicpc.net import sys # N 자리 이(친수) 구하기 N = int(sys.stdin.readline()) arr = [0 for i in r..
https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째, 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다. 계단 오르는 데는 다음과 같은 규칙이 있다. 계단은 한 번에 한 계단 www.acmicpc.net [Python 풀이] stScore = [] # 계단의 수 stairs = int(input()) # 최대 300개의 계단이 존재 mxScore = [No..