반응형 Algorithm9 [알고리즘] 합분해 (DP-GoldⅤ) 목적 : dp 테이블 손으로 써서 푸는 습관을 들이기 위해서 문제 설명(요약) : 0~N까지의 숫자 중 K개를 택해서 택한 숫자의 합이 N이 되는 경우의 수를 구하기 조건 -> 중복 허용, 숫자 위치만 바꾼 것은 다른 경우로 count 해결 전략: 1. 머리로 풀다가 이차원 dp형태로 풀어야 겠다 싶어 손으로 풀기 시작 2. 1~6까지의 경우의 수를 직접 구해봄 (조합,순열) 3. 피보나치 수열 인줄 알았는데 단순 대각선 합이였음 4. 점화식 세움 5. 끝 직접 그려본 dp 테이블 : 점화식 : dp[i][j] = dp[i-1][j] + dp[i][j-1] 2023. 3. 18. [알고리즘] 가장 긴 증가하는 바이토닉 부분 수열 (DP-Gold IV) 목적 : 다른사람의 매우 직관적인 풀이를 복습하기 위해서 문제 설명(요약) : 증가 or 감소 , 증가+감소, 감소+증가 의 특징을 가진 바이토닉 수열 중에서 가장 긴 수열을 찾아 길이를 구하면 되는 문제 나의 시도 : 1. 가장 긴 증가 or 감소 수열에서 기울기 부호가 바뀌는 지점의 인덱스를 구해 그 후 가장 긴 반대 수열 길이 더하기 깨달은 것: 가장 긴 증가 수열이 아니더라도 가장 긴 바이토닉 수열이 될 수있다. 반대의 경우도 마찬가지 해결 전략: dp 배열에는 해당 인덱스 값마다 최대 길이가 들어있으므로 해당 시점에서의 증가수열길이 + 감소수열길이 -1 을 해주면 된다. 단 감소 수열은 top-down 방식으로 증가 수열의 길이를 할당 해줘야 겹치는 부분에서 길이 합을 구할 때 제.. 2023. 3. 18. [알고리즘] 다익스트라 최단경로 알고리즘 목적 : 다이크스트리아 알고리즘의 용도 사용법을 익히기 위해 📘 '이것이 취업을 위한 코딩테스트다' 책을 통해 공부하였습니다. [최단 경로의 Case] 한 정점에서 다른 한 정점까지의 최단 경로 한 정점에서 다른 모든 정점까지의 최단 경로 🥇 모든 정점에서 다른 모든 정점까지의 최단 경로 이 글에서는 다익스트리아 알고리즘으로 해결되는 한 정점에서 다른 모든 정점으로 가는 최단 경로를 구해보겠습니다. 다익스트리아 알고리즘에서는 한 정점에서 다른 모든 정점으로 가는 최단 경로를 결정할 때 그리디한 방법으로 결정합니다. (매 상황에서 가장 비용이 적은 노드를 선택하는 과정을 반복하기 때문입니다) 위 그래프를 보시면 시작점을 1로 잡았을 때 연결노드들의 가중치는 1,2,5 인걸 알 수있.. 2023. 3. 18. 이전 1 2 다음 반응형