본문 바로가기

동적프로그래밍

[python] algospot SNAIL 문제 깊이가 n 미터인 우물의 맨 밑바닥에 달팽이가 있습니다. 달팽이의 움직임은 그 날의 날씨에 좌우됩니다. 만약 비가 내리면 달팽이는 하루에 2미터를 기어올라갈 수 있지만, 날이 맑으면 1미터밖에 올라가지 못합니다. 앞으로 m 일간 각 날짜에 비가 올 확률이 정확히 75%일 전망입니다. m 일 안에 달팽이가 우물 끝까지 올라갈 확률을 계산하는 프로그램을 작성하세요. -> 문제 링크 : https://algospot.com/judge/problem/read/SNAIL algospot.com :: SNAIL 달팽이 문제 정보 문제 깊이가 n 미터인 우물의 맨 밑바닥에 달팽이가 있습니다. 이 달팽이는 우물의 맨 위까지 기어올라가고 싶어하는데, 달팽이의 움직임은 그 날의 날씨에 좌우됩니다. 만약 � algos.. 더보기
[python] baekjoon 가장 큰 증가 부분 수열 문제 풀이 문제 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수열은 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 이고, 합은 113이다. 수열 A가 주어졌을 때, 합이 가장 큰 증가 부분 수열의 합을 출력하시오. 문제풀이 수열의 크기는 최대 1000으로 주어진다. 가장 단순한 방법으로는 만들 수 있는 모든 수열을 만들어보고 증가 부분 수열 중 최댓값을 찾는 것이다. 하지만 이 방법은 O(2^1000)이라는 엄청난 시간이 걸린다. 이 문제는 부분문제로 쪼갠 뒤 해결할 수 있다. 현재 문제가 인덱스 i부터 시.. 더보기