alpyrithm_알파이리즘
[알고리즘][Python] 백준(BOJ) 1965 상자넣기_파이썬 본문
1965 상자넣기 https://www.acmicpc.net/problem/1965
문제 풀기 전 공부할 것 : 다이나믹 프로그래밍
풀이
<내용>
- 상자를 입력받고 dp array를 1(해당 상자 1개)로 초기화해서 만든다.
- for문을 돌면서 주어진 상자 순서보다 앞에 있는 상자 중 크기가 작을 때 상자의 수+1과 비교해서 큰 값을 dp에 저장한다.
- dp 중 max인 값을 출력한다.
<코드>
n = int(input())
box = list(map(int, input().split()))
dp = [1 for _ in range(n)]
for i in range(1, n):
for j in range(i):
if box[i] > box[j]:
dp[i] = max(dp[i], dp[j]+1)
print(max(dp))
728x90
반응형
'Algorithm > 백준 알고리즘_Python' 카테고리의 다른 글
[알고리즘][Python] 백준(BOJ) 1926 그림_파이썬 (0) | 2020.09.13 |
---|---|
[알고리즘][Python] 백준(BOJ) 1743 음식물 피하기_파이썬 (0) | 2020.09.12 |
[알고리즘][Python] 백준(BOJ) 1735 분수 합_파이썬 (0) | 2020.09.10 |
[알고리즘][Python] 백준(BOJ) 11660 구간 합 구하기 5_파이썬 (0) | 2020.09.09 |
[알고리즘][Python] 백준(BOJ) 2407 조합_파이썬 (0) | 2020.09.08 |
Comments