플로이드 워셜(Floyd Warshall) 알고리즘은 동적 계획법으로 모든 최단 경로를 구하는 알고리즘이다. 먼저 초기화를 해줘야 하는데 최단경로가 있으면 최단경로를 없으면 최댓값을 넣어주어야 한다.그래야 최단경로를 구할 수 있다. 3중 for 문으로 동작하는데 첫 for 문부터 각각 거쳐 가는 점, 출발하는 점, 도착하는 점을 나타낸다.아래 코드는 초기화를 했다는 가정하에 작성했다. class Floyd{ int len = 10; int[][] arr = new int[len][len]; void floyd(){ for(int i = 0; i < len; i++){ // 거쳐가는 점 for(int j = 0; j < len; j++){ // 출발하는 점 if(i == j){ continue; } for..
싱글톤 패턴(Singleton Pattern)이란. 어플리케이션에서 하나의 인스턴스만 만들고 싶을 때 사용하는 디자인 패턴이다. 싱글톤을 만들 때는 private 생성자를 만들어 new를 사용하여 인스턴스 만드는 것을 막고 private static final 변수에 인스턴스 생성하고 public static singleton get메소드로 인스턴스를 return하게 만들어 인스턴스가 필요할 때 get메소드로 인스턴스를 받아서 사용하게 한다. public class Singleton { private static final Singleton instance = new Singleton(); private Singleton(){} public static Singleton getInstance(){ ret..