본문 바로가기
반응형

백준알고리즘/동적 계획법175

(Python/🥈3) 1904번: 01타일 문제 출처: https://www.acmicpc.net/problem/1904 1904번: 01타일 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이 www.acmicpc.net 풀이: 먼저 규칙을 알아보기위해 중복순열을 사용하였다 from itertools import product # 길이가 1부터 5까지에 규칙을 알아보기 위해서 1부터 5까지 딕셔너리 생성 number_dic = {i:0 for i in range(1,6)} lst = ['00','1'] for z in range(1,6): # 1부터 5까지 for i in product(lst, repeat.. 2022. 11. 13.
(Python/🥈2)9141번: 신나는 함수 실행 문제 출처:https://www.acmicpc.net/problem/9184 9184번: 신나는 함수 실행 입력은 세 정수 a, b, c로 이루어져 있으며, 한 줄에 하나씩 주어진다. 입력의 마지막은 -1 -1 -1로 나타내며, 세 정수가 모두 -1인 경우는 입력의 마지막을 제외하면 없다. www.acmicpc.net 풀이: dp = [[[0]*(21) for _ in range(21)] for _ in range(21)] def w(a, b, c): if a 20: return w(20, 20, 20) if dp[a][b][c]: return dp[a][b][c] if a < b < c: dp[a][b][c] = w(a, b, c-1) + w(a, b-1, c-1) - w(a, b-1, c) retur.. 2022. 11. 7.
(Python/🥉1)24416번: 알고리즘 수업 - 피보나치 수 1 문제 출처:https://www.acmicpc.net/problem/24416 24416번: 알고리즘 수업 - 피보나치 수 1 오늘도 서준이는 동적 프로그래밍 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 오늘은 n의 피보나치 수를 재귀호출과 동적 프로그래밍 www.acmicpc.net 문제 풀이: N = int(input()) dp = [0]*(N+1) dp[1] = 1 for i in range(2, N+1): dp[i] = dp[i-1] + dp[i-2] print(dp[-1], N-2) 2022. 11. 7.
반응형