Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 파이썬
- Message Passing
- X
- react
- 백준 #7568번 #파이썬 #동적계획법
- 크롬 확장자
- nodejs
- Chrome Extension
- 디스코드 봇
- TypeScript
- content script
- 포도주시식
- discord.js
- popup
- webpack
- 공부시간측정어플
- 2156
- C언어로 쉽게 풀어쓴 자료구조
- 갓생
- 백준 7579
- 자료구조
- background script
- 동적계획법
- 캠스터디
- supabase
- 프로그래머스 #정수삼각형 #동적계획법
- 크롬 익스텐션
- 백준
Archives
- Today
- Total
히치키치
[백준] 14002 : 가장 긴 증가하는 부분수열 - Python(파이썬) 본문
문제
풀이
- 동적 계획법
- 길이 : 일차원 배열에 당시 길이 최대값 유지/갱신 : 이전 수+1
- 수열 출력 : 배열에 최대값 가진 인덱스부터 -1 하며 원래 수열에서 해당 값 가져오기
코드
n = int(input())
arr = list(map(int, input().split()))
max_len = [1]*n
for i in range(1, n):
for j in range(i):
if arr[i]>arr[j]:
max_len[i] = max(max_len[i], max_len[j]+1)
print(max(max_len))
curr_max = max(max_len)
lst = []
for i in range(n-1, -1, -1):
if max_len[i]==curr_max:
lst.append(arr[i])
curr_max-=1
lst.reverse()
for i in lst:
print(i, end=' ')
'알고리즘 스터디' 카테고리의 다른 글
[백준] 2661번 : 좋은 수열 - Python(파이썬) (0) | 2021.05.11 |
---|---|
[백준] 11559번 : Puyo Puyo - Python(파이썬) (0) | 2021.05.03 |
[백준] 10830 : 행렬 제곱 - Python(파이썬) (0) | 2021.04.06 |
[백준] 2839번 : 설탕배달 - Python(파이썬) (0) | 2021.03.30 |
[백준] 11399번 : ATM - Python(파이썬) (0) | 2021.03.30 |
Comments