다이나믹 프로그래밍 13

[Python] 백준 풀기 2748 - 피보나치 수 2

파이썬 백준 2748번 브론즈 1 https://www.acmicpc.net/problem/2748 2748번: 피보나치 수 2 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 문제 보기 분류: 수학, 다이나믹 프로그래밍 문제 풀기 n 번째 피보나치 수를 저장하기 위해 n + 1 개의 빈 리스트를 준비한다. 리스트 첫번째와 두 번째 값은 0 과 1 로 초기화한다. index 가 3 인 세번째 피보나치 수는 문제에서 제시한 함수를 따르기 때문에 아래 코드와 같이 작성되었다. num_ls[i] = num_..

공부하기/백준 2022.12.19

[Python] 백준 풀기 2775 - 부녀회장이 될테야

파이썬 백준 2775번 브론즈 1 https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net 문제 보기 분류: 수학, 구현, 다이나믹 프로그램 문제 풀기 1층 1호를 시작으로 해당 위치의 집의 사람 수를 구한다. 해당 위치의 인원을 구하기 위해서는 그 이전 호수의 인원과 그 이전 층의 인원이 먼저 구해져 있어야 한다. 따라서, 1층 1호, 1층 2호, ... , 2층 1호, 2층 2호, ... , ?층 ?호 순서로 찾아 나간다. 작성 코드는 해당 층 호수의 +1 개 만큼 빈 리스트를 생성한다. ..

공부하기/백준 2022.12.17

[Python] 백준 풀기 9095 - 1, 2, 3 더하기

파이썬 백준 9095번 실버3 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 문제 보기 분류: 다이나믹 프로그래밍 문제 풀기 나열되는 숫자들로 규칙성을 알아본다. 1 은 자기 자신 1 만 가능. 2 는 이전 1 에 1 더한것 그리고 자기 자신 2 가능. 3 은 어전전 1 에 2 를 더한것과 1+1 더한것 그리고 이전 2 에 1 을 더한것 그리고 자기 자신 3 가능. 4 부터 규칙성이 뚜렷해 진다. 합으로 만들수 있도록 주어진 숫자는 1, 2, 3 세 개 이기 때문에 다음 차례 n 에서는 이전에 계산되었던 합들을 1, 2, 3 의 경우에 맞춰..

공부하기/백준 2022.11.07