다익스트라(Dijkstra) - 최단경로 찾기
·
Java & Spring/알고리즘
□ 예제 : https://www.acmicpc.net/problem/1916□ 사용처 : 가중치가 있는 그래프에서 최단 경로를 찾는 알고리즘으로, 음수 가중치가 없는 경우에만 사용 □ 구현1. 변수선언 static int N; static int M; static List[] bus; static int[] cost; static boolean[] check;N : 종점 수M : 노선 수List[] bus : 버스 노선 인접리스트cost : 비용 배열2. Node 클래스 선언 static class Node { int destination; int cost; public Node(int e, int cost) { ..
그래프탐색 - DFS와 BFS
·
Java & Spring/알고리즘
□ DFS와 BFS에 대한 개념 강의 영상https://www.youtube.com/watch?v=_hxFgg7TLZQ&t=624s  □ 실행 코드코드 보기import java.io.*;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); static int N, M, ..
에라토스테네스의 체(소수, 약수 구하기)
·
Java & Spring/알고리즘
◇ 알고리즘 정의고대 그리스의 수학자 에라토스테네스가 만들어 낸 소수를 찾는 방법.이 방법은 마치 체로 치듯이 수를 걸러낸다고 하여 '에라토스테네스의 체'라고 부른다.  ◇ 알고리즘 동장방식출처 : https://namu.wiki/w/%EC%97%90%EB%9D%BC%ED%86%A0%EC%8A%A4%ED%85%8C%EB%84%A4%EC%8A%A4%EC%9D%98%20%EC%B2%B4 에라토스테네스의 체Sieve of Eratosthenes 고대 그리스의 수학자 에라토스테네스 가 만들어 낸 소수 를 찾는 방법.namu.wiki ◇ 알고리즘 구현public class Main { public static void main(String[] args) { int number = 9; i..
투 포인터(Two Pointer) 알고리즘(세 수의 합 구하기)
·
Java & Spring/알고리즘
◇ 알고리즘 정의- 1차원 배열에서 각 다른 원소를 가르키는 2개의 포인터를 조작해가면서 원하는 값을 탐색하는 알고리즘이다.◇ 알고리즘 동장방식◇ 알고리즘 구현import java.util.*;public class Main { public static void main(String[] args) { int[] nums = {0, -5, -2, 4, 6, 9, -1}; int target = 5; int count = 0; Arrays.sort(nums); for (int i = 0; i target) { r--; } else { count+..
유클리드 호제법(최대공약수 구하기)
·
Java & Spring/알고리즘
◇ 유클리드 호제법 : 최대공약수를 구하는 알고리즘최대공약수(GCD) : 유클리드 호제법을 통해 구한다.최소공배수(LCM) : 두 수의 곱을 최대공약수(GCD)로 나눈다.두 수 A, B(A > B)에 대해 A / B의 나머지 C를 계산B를 C로 나눈 나머지 D를 계산C를 D로 나눈 나머지 E를 계산위 과정을 반복하여 나머지가 0이될 때 마지막 나누는 수가 최대 공약수가 된다.ex)1071과 1029의 최대공약수를 구하면 마지막 나머지가 0이되는 수 21이된다.1071은 1029로 나누어 떨어지지 않기 때문에, 1071을 1029로 나눈 나머지를 구한다. ≫ 421029는 42로 나누어 떨어지지 않기 때문에, 1029를 42로 나눈 나머지를 구한다. ≫ 2142는 21로 나누어 떨어진다.◇ 구현1. 재귀함..