반응형

dp 5

[Python][백준][16931] 겉넓이 구하기 (구현)

🍋 문제링크 https://www.acmicpc.net/problem/16931 🍎 코드 제출 기록 (메모리 및 시간) 메모리 : 123532 KB 시간 : 132 ms 🍓 문제풀이 겉넓이를 구하기 위해서는 입체도형의 up, down, front, back, left, right 에서 보이는 사각형들의 합을 구하면 된다 up, down = N * M left, right = 1 ~ N 에서 맨 앞 블록 높이 + (j번째 블록높이 - (j-1)번째 블록높이) → 양수일때만 front, back = 1 ~ M 에서 맨 앞 블록 높이 + (i번째 블록높이 - (i-1)번째 블록높이) → 양수일때만 🍉 Code N, M = map(int, input().split()) arr = [list(map(int, in..

[Python][백준][11051] 이항 계수 2 (DP)

🍋 문제링크 11051번: 이항 계수 2 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 1,000, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 🍎 코드 제출 기록 (메모리 및 시간) 메모리 : 204292 KB 시간 : 268 ms 🍓 문제풀이 k 가 0 일때! 빼먹지 않을 것!! 🍉 Code 재귀로 푸니까 시간초과남...ㅠ N, K = map(int, input().split()) def recursion(n, k): if n == k: return 1 if k == 1: return n return recursion(n-1, k-1) + recursion(n-1, k) print(recursion(N, K)) N, K = map(int, input().spl..

[삼성/코테기출][Python][백준][14501] 퇴사 (완전탐색/DP)

🍋 문제링크 https://www.acmicpc.net/problem/14501 🍎 코드 제출 기록 (메모리 및 시간) 메모리 : 121220 KB 시간 : 112 ms 🍓 문제풀이 🍉 Code N = int(input()) time = [0 for _ in range(N)] pay = [0 for _ in range(N)] DP = [0 for _ in range(N+1)] for i in range(N): tmp = list(map(int, input().split())) time[i] = tmp[0] pay[i] = tmp[1] DP[N] = 0 for i in range(N-1, -1, -1): if (N-i) < time[i]: DP[i] = DP[i+1] else: DP[i] = max(pay..

[Python][백준][11057] 오르막 수 (DP)

🍋 문제링크 https://www.acmicpc.net/problem/11057 11057번: 오르막 수 🍎 코드 제출 기록 (메모리 및 시간) 메모리 : 123172 KB 시간 : 120 ms 🍉 Code N = int(input()) dp = [[0 for _ in range(19)] for _ in range(1009)] dp[1] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] for i in range(2, N+1): for j in range(10): if j == 0: dp[i][j] = sum(dp[i-1]) else: dp[i][j] = dp[i][j-1] - dp[i-1][j-1] print(sum(dp[N])%10007) 🥝 메모 DP[][] 배열을 2차원으로 선언 DP[x..