DP 다이나믹 프로그래밍 알고리즘
DP란 다이나믹 프로그래밍(dynamic programming)의 약자로 메모리를 적절히 사용해서 시간을 줄이고 효율성을 향상시키는 방법이다
AWS 클라우드 정복중 ☁️ 언젠간 GCP, Azure까지도...
DP란 다이나믹 프로그래밍(dynamic programming)의 약자로 메모리를 적절히 사용해서 시간을 줄이고 효율성을 향상시키는 방법이다
자바 스크립트는 객체(object) 기반 언어이다 객체에는 기능(method)과 속성(property)이 있다

투 포인터(Two Pointers)란 리스트에 순차적으로 접근 할 때 두개의 포인터를 이용해서 처리하는 알고리즘이다

리스트를 입력 받아서 리스트중 2개의 합이 특정한 값을 찾는 문제로 대표적인 투 포인터 문제이다 여기서는 두개의 합만을 구하므로 부분합을 이용하지 않고 푼다

소수 찾는 알고리즘은 매우 많다 그 중에서 기본적인것은 자연수 n이 주어진다면 n이 소수인지 판별하기 위해 2~n-1까지 모든 숫자를 for 문을 통해서 나누어본다 나머지가 0이 나오는 값이 없다면 그 숫자는 소수이다

기본적인 다익스트라 문제에서 특정 조건 2개가 추가된 문제이다

최단 경로 문제로 간선마다 가중치가 달라서 다익스트라 알고리즘을 이용해야하는 문제이다

다익스트라 알고리즘은 최단거리를 구할 때 사용한다 bfs도 최단거리를 구할때 사용하지만 차이점은 bfs는 단위길이 모든 간선의 가중치가 서로 같을 때 이용가능하다 다익스트라 알고리즘은 노드 사이 간선의 가중치가 다를 때 사용한다

문제는 dp알고리즘으로 되어있지만 최소값을 구하는 문제여서 bfs를 통해서 문제를 풀었다

많이 헤맸던 문제로 방문 처리나 사다리 뱀 타는 것의 유무등 헷갈리는 것이 많아서 시간을 많이 소요했던 문제이다