백준/ Silver 2 문제 , 백준 파이썬 11722, 가장 긴 감소하는 부분 수열
Check Point ! ( 해당사항 ✓체크 )
1. 막힘 없이 수월하게 풀린 문제인가?
2. 1시간이내로 풀렸던 문제인가?
3. 1시간 이상 or 며칠을 두고 풀어봤더니 풀린 문제인가?
4. 시간을 써도 도무지 풀 수 없는 문제인가?
5. 솔루션을 찾아봤는가?
-------------------------------------------------------------------------------------------
난이도 체감
1. 최상
2. 상
3. 중
4. 하
<이해도>
1. 완벽히 이해
2. 다소 헷갈리는 부분들이 있음
3. 이해 못함
<덧붙일 말>
오늘 배운 것을 이용하여 reverse로 돌려 똑같이 풀어봤다.
<문제 출처>
https://www.acmicpc.net/problem/11722
------------------------------------------------------------------------------------------------------------------------------
전에 풀었던 문제의 응용형이다. reverse() 만 추가하면 동일한 코드로 풀어낼 수 있다.
------------------------------------------------------------------------------------------------------------------------------
정답
import sys
input=sys.stdin.readline
N=int(input())
A=list(map(int,input().split()))
A.reverse()
dp=[0 for _ in range(N)]
for i in range(N):
for j in range(i):
if A[i]>A[j] and dp[i]<dp[j]:
dp[i]=dp[j]
dp[i]+=1
print(max(dp))
반응형
'알고리즘 공부 > 백준 - 파이썬' 카테고리의 다른 글
백준/ Gold 2 문제 , 백준 파이썬 12015 , 가장 긴 증가하는 부분 수열 2 , 최장 증가 부분 수열(LIS) 알고리즘 (0) | 2022.02.04 |
---|---|
백준/ Bronze 3 문제 , 백준 파이썬 2490 , 윷놀이 (0) | 2022.02.04 |
백준/ Silver 2 문제 , 백준 파이썬 11055 , 가장 큰 증가 부분 수열 (0) | 2022.02.04 |
백준/ Silver 2 문제 , 백준 파이썬 11053 , 가장 긴 증가하는 부분 수열 (0) | 2022.02.04 |
백준/ Gold 5 문제 , 백준 파이썬 2110 , 공유기 설치 (0) | 2022.02.04 |