일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- permutation
- 코테
- 백준
- Kotlin
- LCS
- 홈화면
- Android
- 괄호
- 11057
- Python
- 9095
- Combination
- 안드로이드
- 1182
- 11기
- 파이썬
- itertools
- 11053
- 나머지
- 앱
- 11054
- 매일11시
- 순열
- 1260
- lcm
- expo
- 뒤로가기
- 최소공배수
- 6603
- 코틀린
- Today
- Total
목록백준 문제 풀이 (154)
황소개발자
다이나믹은 점에서 차원이 갈라지거나 점화식이 간단하게 만들어지거나 점화식이 반복적으로 만들어지거나 n = int(input()) lst = list(map(int, input().split())) dp = [1 for i in range(n)] for i in range(n): for j in range(i): if lst[i] > lst[j]: dp[i] = max(dp[i], dp[j] + 1) print(max(dp)) 이 경우는 제일 후자다.
먹지않거나 연속으로 한잔을 먹는 경우이거나 연속으로 두잔을 먹는 경우이거나 import sys input = sys.stdin.readline n = int(input()) wine = [0] for i in range(n): wine.append(int(input())) dp = [[0, 0, 0] for i in range(n + 1)] dp[1] = [0, wine[1], 0] for i in range(2, n + 1): dp[i][0] = max(dp[i - 1]) dp[i][1] = dp[i - 1][0] + wine[i] dp[i][2] = dp[i - 1][1] + wine[i] print(max(dp[n])) 범인은 이 안에 있다
아래 코드는 옛날에 짯던, 실패한 코드입니다. 13일동안 방치해뒀었죠. t = int(input()) for i in range(t): n = int(input()) dp = [[0, 0] for k in range(n)] tmp1 = list(map(int, input().split())) arr = [[x] for x in tmp1] tmp = list(map(int, input().split())) print('n', n) print(tmp1) print(tmp) print('입력완료') for j, num in enumerate(tmp): arr[j].append(num) for j in range(n): if j == 0: if arr[0][0] > arr[0][1]: dp[0] = [arr[0..
원리를 깨달으세요 n = int(input()) dp = [[0, 0] for i in range(91)] dp[1][1] = 1 # 1자리 1로 끝나는 이친수 for i in range(2, 91): dp[i][0] = dp[i - 1][0] + dp[i - 1][1] dp[i][1] = dp[i - 1][0] print(sum(dp[n]))
나머지 연산 나머지 연산 n = int(input()) dp = [[0 for i in range(10)] for j in range(1001)] dp[1] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] for i in range(2, 1001): for j in range(10): for k in range(j + 1): dp[i][j] += dp[i - 1][k] dp[i][j] %= 10007 print(sum(dp[n]) % 10007)
연습하다보면 슬슬 보입니다 n = int(input()) dp = [[0 for i in range(10)] for j in range(101)] dp[1] = [0, 1, 1, 1, 1, 1, 1, 1, 1, 1] for i in range(2, 101): for j in range(10): if j - 1 >= 0: dp[i][j] += dp[i - 1][j - 1] dp[i][j] %= 1000000000 if j + 1
헌터.. import sys input = sys.stdin.readline dp = [[0, 0, 0, 0] for i in range(100001)] dp[1] = [1, 0, 0] dp[2] = [0, 1, 0] dp[3] = [1, 1, 1] for i in range(4, 100001): dp[i][0] = (dp[i - 1][1] + dp[i - 1][2]) % 1000000009 dp[i][1] = (dp[i - 2][0] + dp[i - 2][2]) % 1000000009 dp[i][2] = (dp[i - 3][0] + dp[i - 3][1]) % 1000000009 t = int(input()) for i in range(t): n = int(input()) print(sum(dp[n])..