알고리즘

알고리즘

[BOJ] 2579. 계단 오르기

저번에 풀었던 포도주 시식이랑 매우 흡사하다. 풀이과정: 코드: import sys num = int(sys.stdin.readline()) stairs = [-1] dp = [0] * (num + 1) for _ in range(num): stairs.append(int(sys.stdin.readline())) if num >= 1: dp[1] = stairs[1] if num >= 2: dp[2] = stairs[1] + stairs[2] for i in range(3, num+1): dp[i] = max(dp[i-3] + stairs[i-1] + stairs[i], dp[i-2] + stairs[i]) print(dp[num])

알고리즘

[BOJ][DP] 2156 - 포도주 시식

DP,, 점화식 생각해내기가 너무 어려운 것 같다,, 1. 문제 입력: 첫째 줄에 포도주 잔의 개수 n이 주어진다. (1 ≤ n ≤ 10,000) 둘째 줄부터 n+1번째 줄까지 포도주 잔에 들어있는 포도주의 양이 순서대로 주어진다. 포도주의 양은 1,000 이하의 음이 아닌 정수이다. 출력: 첫째 줄에 최대로 마실 수 있는 포도주의 양을 출력한다. 입력예시: 6 6 10 13 9 8 1 출력예시: 33 2. 문제풀이 먼저 입력 받는 값들을 저장하는 로직을 구현한다. 첫 줄에 포도잔의 개수 n이 주어지는데 이것을 input()함수를 사용하여 int로 형변환까지 하여 변수 n에 저장한다. 그리고 둘째 줄부터 n+1번째 줄까지 포도주 잔에 들어있는 포도주의 양이 순서대로 주어지는데 이것은 반복문을 사용하여 값..

jooyeongmee
'알고리즘' 카테고리의 글 목록