티스토리 뷰

Algorithm

[알고리즘] 백준 11722번

군옥수수수 2018. 1. 23. 13:45

[알고리즘] 백준 11722번

문제

https://www.acmicpc.net/problem/11722


풀이

오늘은 가장 긴 감소하는 부분 수열 문제를 풀어보았습니다. 유명한 dp 문제의 유형 중 하나이고 난이도 역시 쉽다고 하는데 저는..역시나 아직은 알고리즘이 약해서 그런지 여러 블로그에서 힌트를 얻어 풀었습니다.


주어진 수열에서 가장 긴 감소하는 부분 수열을 구하기 위해서는 수열의 각 요소를 기준점으로 이전의 요소들과 비교를 해서 본인보다 큰 요소가 존재한다면 자신의 길이를 1 추가하는 방식으로 접근하였습니다. 


그렇게 되면 이전 요소들 또한 각각 부분 수열에 포함되어 있는데 해당 부분 수열에 속해서 더 긴 감소하는 부분 수열을 이룰수 있다면 그곳에 속하는 코드를 작성해주어야 합니다. 코드는 다음과 같습니다.

  1. 현재 검사를 하는 요소보다 이전의 요소 중 더 큰 수가 있는지를 판단합니다,
  2. 이전의 요소들 또한 자기 자신만 존재한 부분수열이든 각자 부분수열에 속해있습니다. 그들이 수열에 포함되는 것이 더 큰 수열을 만들수 있는지를 판단하여 만들수 있다면 그들의 수열에 들어가는 코드입니다.


'Algorithm' 카테고리의 다른 글

[알고리즘] 백준 2667번  (0) 2018.01.28
[알고리즘] 백준 11403번  (0) 2018.01.26
[알고리즘] 백준 2178번  (0) 2018.01.25
[알고리즘] 백준 2193번  (1) 2018.01.20
[알고리즘] 백준 1149번  (0) 2018.01.20
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함