일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 카카오
- 이분탐색
- 다익스트라
- BFS
- 프로그래머스
- Zip
- lambda
- 위클리 챌린지
- java
- heapq
- python
- 정규식
- dfs
- Combinations
- 정렬
- 수학
- 파이썬
- KAKAO BLIND RECRUITMENT
- divmod
- 백준
- 동적 계획법
- 자바
- programmers
- Re
- 추석맞이 코딩챌린지
- 재귀함수
- 그리디
- DateTime
- backjoon
- Set
- Today
- Total
목록동적 계획법 (14)
상상쓰
https://www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 이차원 배열로 수열을 비교하여, 1) 같은 문자일 때, dp[i][j] = dp[i-1][j-1] (두 수열에서 같은 문자가 추가되기 전의 최댓값) + 1 ACAYK 와 CAPCAK 의 LCS 의 길이는 ACAY 와 CAPCA 의 LCS 의 길이의 + 1 이다. 2..
https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 파스칼의 삼각형의 원리를 이용하여 다리를 지을 수 있는 경우의 수를 동적 계획법으로 구현할 수 있다. 동적 계획법으로 조합을 구한다. import sys dp = [[0] * 31 for i in range(31)] for i in range(31): dp[i][0] = 1 for i in range(1, 31): for j in range(1, 31): dp[i][j] = dp[i-1][j-1]..
https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 동적 계획알고리즘으로 조건에서 연속적으로 놓여있는 3잔을 모두 마실 수 없으므로 2잔을 연속으로 마시는 경우는 wine[i][0] 에 담았고 그렇지 않은 경우 중 최댓값을 M 으로 두어 wine[i][1] (= wine[i][1] + M) 에 담았다. 최종적으로 wine 에 들어있는 값 중 최댓값을 반환한다. import sys N = int(sys.stdin.readline()) wine = []..
https://programmers.co.kr/learn/courses/30/lessons/42897 코딩테스트 연습 - 도둑질 도둑이 어느 마을을 털 계획을 하고 있습니다. 이 마을의 모든 집들은 아래 그림과 같이 동그랗게 배치되어 있습니다. 각 집들은 서로 인접한 집들과 방범장치가 연결되어 있기 때문에 인접한 programmers.co.kr 프로그래머스 4단계 문제치고는 쉬운 문제였다. 원형이라 처음과 끝은 인접하므로 경우를 나눠서 생각했다. 1. 끝을 생각하지 않는 경우 : 1 번 부터 차례대로 인접하지 않고 N-1 번으로 갈 때 훔칠 수 있는 돈의 최댓값 2. 처음을 생각하지 않는 경우 : 2 번 부터 차례대로 인접하지 않고 N 번으로 갈 때 훔칠 수 있는 돈의 최댓값 동적 계획법으로 구현하여 1..