티스토리 뷰
풀이
data | 10 | 20 | 10 | 30 | 20 | 50 |
dp | 1 | 2 | 1 | 3 | 2 | 4 |
dp 문제입니다. data 변수에는 입력값을, dp 변수에는 현재 위치에서 최대 길이를 저장합니다.
dp변수는 기본적으로 자신의 길이 1을 가지므로 1로 초기화 해줍니다.
dp 변수에는 현재 데이터보다 값이 작은 이전 데이터들 중에서 최대 dp값에 1을 더하여 저장합니다.
출력 시에는 dp의 마지막 원소가 최댓값이라는 보장이 없기 때문에 dp에서 최댓값을 뽑아 출력합니다.
Python3 Code
import sys
n = int(input())
data = list(map(int, input().split()))
dp = [1] * n
for i in range(1, n):
max_dp = 0
for j in range(0, i):
if max_dp < dp[j] and data[i] > data[j]:
max_dp = dp[j]
dp[i] = max_dp + 1
print(max(dp))
'Computer Science > Algorithm' 카테고리의 다른 글
[BOJ] 2193 - 이친수 (0) | 2020.06.14 |
---|---|
[BOJ] 2156 - 포도주 시식 (0) | 2020.06.14 |
[BOJ] 1463 - 1로 만들기 (0) | 2020.06.13 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 알고리즘 강의
- nlp 트렌드
- 인공지능 스피커 호출
- MIT
- RNN
- lambda
- keras
- librosa
- boto3
- Tensorflow2.0
- nlp
- 오디오 전처리
- BOJ
- aws cli
- netron
- S3
- wavenet
- Introduction to Algorithm
- MFCC
- nlg
- TF2.0
- 6.006
- 시계열
- 알고리즘
- 핵심어 검출
- tensorflow
- AWS
- LSTM
- stft
- 모델 시각화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함