알고리즘 2

[Algorithm] 다익스트라(Dijkstra) 알고리즘 with c#

근 몇 년 동안 이직을 2번이나 하느라,, 굉장히 바쁜 하루하루를 살았어요 그러다 보니 블로그를 거의 안 들어오게 되었고 정신 차려보니...23년5월.. 다시 정신을 부여잡고 내가 배우고 공부한 것을 작성해 보기! 1. 다익스트라(Dijkstra) 알고리즘 다익스트라 알고리즘은 그래프에서 최단 경로를 찾기 위해 사용되는 알고리즘이다. 특정 출발점부터 다른 정점까지의 최단 경로를 구하는 문제를 해결하는 데에 적용된다. 다익스트라 알고리즘은 각 정점까지의 최단 거리를 점진적으로 계산하며, 그리디 알고리즘의 한 형태이다. 2. 다익스트라(Dijkstra) 알고리즘 활용분야 다익스트라 알고리즘은 다양한 분야에서 활용되는데, 대표적으로 길 찾기 애플리케이션 : 지도 서비스나 네비게이션 시스템에서 출발지와 목적지 ..

[Algorithm] 투포인터(Two Pointer) 알고리즘 with python

'투포인터' 란? 이름 그대로 두 가지의 포인터를 사용하여 문자열이나 배열(or 리스트)에서 원하는 값을 찾거나 반복문을 써야할 때 쓰기 좋은 방식입니다. 그냥 기본 방식인 탐색(반복문)을 쓰다 보면 시간이 오래 걸리거나 시간 초과가 걸리는 경우에 투포인터를 사용하면 메모리와 시간 효율성을 높일 수 있습니다! 시간복잡도 : O(N) 기본 탐색 반복문을 사용한다면 O(N^2) 투포인터는 2가지 방식이 있습니다 앞에서 시작하는 포인터와 끝에서 시작하는 포인터 빠른(Fast runner)가 느린 (slow runner)보다 앞서는 형식 형식 1. 앞에서 시작하는 포인터 끝에서 시작하는 포인터 쉬운 예제를 통해서 한번 이해해보도록 하겠습니다. Q . 주어진 배열에서 합이 27인 경우를 찾아라 풀이 1. 시작점(..