훌이
후리스콜링개발
훌이

블로그 메뉴

  • 왈 (iOS APP)
  • Github
전체 방문자
오늘
어제
  • 전체 (171)
    • ⭐️ 개발 (140)
      • JAVA (4)
      • Web (5)
      • iOS & Swift (94)
      • iOS Concurrency (4)
      • Rx (18)
      • Git (6)
      • WWDC (1)
      • Code Refactor (3)
      • Server (1)
    • ⭐️ Computer Science (22)
      • 운영체제 (10)
      • 네트워크 (5)
      • PS (7)
    • 경제시사상식 (8)
    • 기타 등등 (0)

인기 글

최근 글

06-26 15:54

티스토리

hELLO · Designed By 정상우.
훌이
⭐️ Computer Science/PS

[PS] DP - LIS 11053 가장 긴 증가하는 부분수열

⭐️ Computer Science/PS

[PS] DP - LIS 11053 가장 긴 증가하는 부분수열

2023. 4. 25. 00:05
728x90
반응형
// LIS DP 공식
let n = Int(readLine()!)!
let aList = readLine()!.split(separator: " ").map { Int($0)! }

var dp = Array(repeating: 1, count: n)

// 배열을 순회하면서 각각의 인덱스를 비교해서 어떤 기준값보다 큰 값이 있으면 기준값을 수정해주는 과정
for i in 1..<n {
    for j in 0..<i {
        // 1-0
        // 2-0, 2-1
        // 3-0, 3-1, 3-2
        // 4-0, 4-1, 4-2, 4-3
        // 5-0, 5-1, 5-2, 5-3, 5-4
        // i=4인 경우를 계산 시에, dp[0]~dp[3]까지 모두 정해져있는 상황이다.
        // 따라서, index 4가 index 2보다 크면 dp[4]는 최소 dp[2]+1이라서 1을 더하는 것임
        if aList[i] > aList[j] {
            dp[i] = max(dp[i], dp[j]+1)
        }
    }
}

print(dp.max()!)

aList[i]가 aList[j]보다 더 큰 경우에 dp[i]에 저장된 값을 dp[i]와 dp[j]+1 중 더 큰 값으로 교체한다.

j는 i보다 앞에 있는 값...

- i가 1부터 n-1까지 반복하는 for문 : 1,2,3,4,5, ... n-2,n-1

- j가 0부터 i-1까지 반복하는 for문 : 0,1,2,3,4,5, ... 

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'⭐️ Computer Science > PS' 카테고리의 다른 글

[PS] 백트래킹 9663번 N-Queen 답지 참고  (0) 2023.04.24
[PS] 백트래킹 - n과m(11) (12), 부분수열의 합 1182  (0) 2023.04.22
[PS] 백트래킹 - n과m(9) 15663 어려움 시간초과 이슈 악  (0) 2023.04.19
[PS] 백트래킹 20문제 풀기 - 0. 개념, 1. n과m(1) ~ (4)  (0) 2023.04.17
[PS] BOJ - 7576 토마토 골드5  (0) 2023.03.05
    '⭐️ Computer Science/PS' 카테고리의 다른 글
    • [PS] 백트래킹 9663번 N-Queen 답지 참고
    • [PS] 백트래킹 - n과m(11) (12), 부분수열의 합 1182
    • [PS] 백트래킹 - n과m(9) 15663 어려움 시간초과 이슈 악
    • [PS] 백트래킹 20문제 풀기 - 0. 개념, 1. n과m(1) ~ (4)
    훌이
    훌이

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.