본문 바로가기 메뉴 바로가기

Dogfootruler Kim

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

Dogfootruler Kim

검색하기 폼
  • 분류 전체보기 (388)
    • Capstone Eng_2020 (18)
      • ERROR (1)
    • Coding - Algo (347)
      • python (112)
      • Java (216)
      • Nodejs (9)
      • 알고리즘&자료구조 (4)
    • Coding-Study (23)
      • Javascript (1)
      • Spring (2)
      • HTML (1)
      • Vue.js (7)
      • Node.js (0)
      • 취준 (4)
      • WEB (3)
      • WEB ERROR (5)
  • 방명록

LIS 풀이 (1)
최장 증가 부분 수열(LIS) 알고리즘

LIS(Longest increasing Subsequence)란, 가장 긴 증가하는 부분 수열이다. 예를 들어, [6, 2, 5, 1, 7, 4, 8, 3] 이라는 배열이 있을 경우, LIS는 [2, 5, 7, 8]이 된다. 증가하는 부분 수열 중 가장 긴 것이기 때문. LIS를 풀기 위한 가장 일반적인 방법은 DP를 이용하는 것이다. dp = [1]*n for i in range(n): for j in range(i): #첫번째 요소부터 i번째까지 위와 비교 if arr[i] > arr[j]: #뒤에 있는 요소(arr[i])가 크면 dp[i] = max(dp[i], dp[k]+1) 위 알고리즘의 시간복잡도는 O(n^2)을 갖게 됩니다. 시간복잡도를 개선하기 위해서는 이분탐색을 활용합니다. 주어진 배열..

Coding - Algo/알고리즘&자료구조 2021. 4. 4. 00:59
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • 깃헙
TAG
  • 메뉴리뉴얼 풀이
  • poker swea
  • ubuntu
  • 타일링 자바
  • 더 맵게
  • 3996 자바
  • 백준파이썬
  • 백준 풀이
  • 백준
  • 프로그래머스 파이썬
  • swea 타일링
  • 1699 자바
  • SWEA
  • 프로그래머스 더 맵게
  • union-find
  • swea 1240
  • yoloV3
  • swea 4070 타일링
  • 프로그래머스 자바
  • 삼성청년SW아카데미
  • 프로그래머스
  • 파이썬 풀이
  • 백준 dp 문제
  • 우분투
  • swea 타일링 자바
  • swea 1240 자바
  • 1240 자바
  • 백준 17144
  • 파이썬
  • SSAFY
more
«   2025/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
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바