Algorithm

Algorithm

백준 13910번: 개업 골드 5(파이썬)

DP로 해결 가능한 문제입니다. 웍은 최대 2개만 사용가능하기 떄문에 조합을 사용해서 요리 한번에 나올 수 있는 모든 경우의 수를 구해줍니다. (웍의 개수는 최대 100개 이기 떄문에 모든 조합을 구해도 시간이 크게 걸리진 않습니다.) 이후에는 dp[i] = min(dp[i], dp[i-num]+1) 점화식을 사용해서 1 부터 n 까지 dp를 구해주시면 됩니다. import sys, itertools input = sys.stdin.readline n, m = map(int, input().split()) s = list(map(int, input().split())) s = s + list(map(sum, itertools.combinations(s, 2))) s.sort() INF = 1e9 dp =..

Algorithm

백준 10844번: 쉬운 계단수 실버 1(파이썬)

문제: https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 입력: 입력으로 받는 N은 계단수의 길이를 의미합니다. 출력: N의 길이를 가지는 계단수 개수를 10**9로 나눈 나머지를 출력하면 됩니다. 따라서, 1의 경우: 1, 2, 3, 4, 5, 6, 7, 8, 9 (9가지) 2의 경우: 10 , 12, 21, 23, 32, 34, 43, 45, 54, 56, 65, 67, 76, 78, 87, 89, 98 (17가지) 풀이: 2차원 배열을 선언합니다. d[i][j] i = 0 ~ N, i는 자릿수를 뜻합니다. j = 0 ~ 9, j는 자릿수에 들어갈 수 있는..