본문 바로가기

DP4

[백준 11055번][실버2] 가장 큰 증가 부분 수열 (파이썬) 문제출처 https://www.acmicpc.net/submit/11055/47854662 로그인 www.acmicpc.net 문제를 스스로 해결하였는가? -> O 11053번(가장 긴 증가하는 부분 수열)문제와 거의 똑같다. 이 문제를 풀기 전에 11053번을 먼저 풀어서 쉽게 풀 수 있었다. 백준에 관련된 응용문제가 많은 것 같으니 다음에 참고할 수 있도록 정리해두자. 사용된 알고리즘 dp 풀이 전략 11053번과 아이디어는 똑같다. 다만 초기 dp값 설정이 다르고, dp값 안에 수열의 길이가 들어가는게 아니라 수열의 합이 들어가게 된다. dp[i]는 0부터 i까지 수열에서 A[i]를 포함한 증가 부분 수열의 합 중 가장 큰 값이다. 전체코드 n = int(input()) A = list(map(in.. 2022. 8. 17.
[백준 11053번][실버2] 가장 긴 증가하는 부분 수열 (파이썬) 문제출처 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 문제를 스스로 해결하였는가? -> X 한 번 풀었던 적 있는 문제다. 한번 푼 문제는 다시 안푸는 성격인데 11055번(가장 큰 증가 부분 수열)문제랑 거의 똑같아 보여서 복습할 겸 다시 풀었다. 근데 또 못풀었다... 비슷한 응용문제가 많은거 같은데 다음엔 까먹지 말고 제대로 풀자. 사용되는 알고리즘 dp 풀.. 2022. 8. 17.
[백준 14501번][실버3] 퇴사 (파이썬) 문제출처 https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 문제를 스스로 해결하였는가? -> X 실버3이라고 만만하게 봐서는 안되겠다. 알고리즘 분류를 참고해 DP문제임을 알았는데도 아이디어가 떠오르지 않아서 결국 구글링했다. 아이디어를 캐치하니 코드는 금방 짤 수 있었다. 물론 아이디어 캐치하는게 제일 중요한 문제겠지만.. 무튼 아이디어를 시각적으로 잘 그려낸 블로그가 있어서 링크남긴다. DP 좀 잘 풀고싶다... 알고리즘 분류 DP 아이디어 퇴사일부터 역순으로 dp값을 계산해야한다. 전체코드 import sys input = sys.stdin.readline n = int(inp.. 2022. 8. 16.
[백준 11052번][실버1] 카드 구매하기 (파이썬) 문제출처 https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 문제를 스스로 해결하였는가? -> O 단계별로 풀어보기에서는 알고리즘 분류가 정해져 있어서 대충 어떻게 접근해야할지 감이 오는 문제들이 많았다. 특히 DP를 풀때는 왜 이문제가 DP인지 따지지 않고 바로 규칙성을 찾는 방식으로 문제를 풀어왔다. 단계별 풀어보기에서 벗어나 처음으로 풀어보는 DP 문제인데 역시나 DP 문제임을 알아차리지 못했다... 알고리즘 분류에 DP라는 걸 참고하니 생각보다 쉽.. 2022. 8. 14.