0-1 knapsack 문제란 배낭에 담을 수 있는 무게에 서로 무게가 다른 값어치의 물건을 담는다고 할 때 가방에 담을 수 있는 최대 값를 계산하는 방법이다.knapsack 문제는 Fractional knapsack 과 0-1 knapsack 두개 가 있는데Fractional knapsack은 쪼개서 일부 선택 가능한 knapsack 문제이고0-1 knapsack : 아이템을 0개 또는 1개만 선택할 수 있는 경우이다.0-1 knapsack 관련 문제를 푸는 이유이 중에서 DP에 대한 개념을 더 잘 이해하기 위해 0-1 knapsack을 고르게 되었다.0-1 knapsack을 그리디로 풀어서는 안되는 이유가방의 무게가 50일때 물건들이 다음과 같은경value : 60 , 100 , 120weight :..
전체 글
개발공부리뷰블로그투포인터 알고리즘 이란?배열이나 리스트에서 두 개의 포인터 인덱스를 이동시키면서 문제를 해결하는 방식보통 정렬된 배열에서 구간 합, 조건 만족 여부, 두 원소의 조합 등 을 사용할 때 사용시간 복잡도O(N)기본 원리 예시int[] arr = {1, 2, 4, 7, 11, 15};int target = 15;int left = 0, right = arr.length - 1;while (left 마무리 요약투 포인터 알고리즘은 배열 문제를 풀 때 주로 사용브루트포스 방식을 O(N) ~ O(N log N) 으로 줄여주기 때문에 효율적
플로이드 워셜 알고리즘이란?가중치가 있는 방향/무방향 그래프에서 모든 정점 쌍 사이의 최단 거리를 한번에 구하는 DP 기반 알고리즘음수 가중치 간선은 허용하지만, 음수 사이클이 있으면 최단거리가 정의되지 않는다.시간 공간 복잡도시간 : O(N^3)공간 : O(N^2)핵심 아이디어dist[i][j]=min(dist[i][j], dist[i][k]+dist[k][j]) 해석 : i → j 까지 가는 가장 짧은 값을 출력i → k → j 가 가능하다면 해당 값으로 값을 대체❗반복문의 순서가 중요하다 k → i → j중간 정점으로 1..k만 허용 하는 부분 문제를 누적해야 하므로 이 순서가 무조건 보장 되어야한다.사용 판단 기준N이 중간 규모 대략 N≤500 이고 모든 쌍의 거리 도달성을 한번에 알고 싶을 때,..
LIS (Longest Increasing Subsequence)최장 증가 부분 수열→ 어떤 수열이 왼쪽에서 오른쪽으로 나열되어 있으면 그 배열 순서를 유지하면서 크기가 점진적으로 커지는 가장 긴 부분 수열을 추출 하는 문제1. LIS란?주어진 순열에서 오름차순 을 유지하는 부분 수열 중 가장 긴 수열의 길이를 구하는 알고리즘ex) 수열 = [10, 20, 10 ,30 ,20 ,50] 이 주어졌을때가능한 증가 부분 수열은[10, 20, 30, 50] → 길이가 4[10, 20, 50] → 길이가 3[10, 30, 50] → 길이가 3등등이 생성된다. 이럴 경우 정답이 42. 대표적인 풀이방법풀이방법1 : DP풀이방법2 : 이진 검색 활용DP O(N^2) 풀이 - 기초적인 방법아이디어 : dp[i] = i..

14기 시작을 알리는 묵직한 선물 상자 SSAFY에 합격하고 나서 받은 웰컴 키트."이거 진짜 생활하면서 필요한 거 다 챙겨줬네?" 한참 동안 박스를 뜯고 하나하나 꺼내보면서 약간 설레는 기분도 들었다. 이제 진짜 SSAFY 생활이 시작되는구나 싶기도 했다. 📦 구성품은?키트는 아래와 같다.흰색 반팔티후드티 (흰색받음, 파랑, 검정도 있었음)스탠리 텀블러SSAFY 1년 다이어리마우스패드보조배터리전체적으로 실용적인 아이템들로 채워져 있어서, 하나도 버릴 게 없다는 느낌이었다.👕 후드티 – 은근 예쁜 흰색후드티는 파랑, 검정, 흰색 중 , 나는 흰색을 받았다.생각보다 디자인이 깔끔하고 예쁘다. SSAFY 로고 자수가 귀엽게 들어가 있다사물함에 넣어두고 있다가, 추울 때 꺼내 입으면 딱 좋을 것 같다. ?..