본문 바로가기

전체 글

(212)
오랜 기간 보호한 동물(2) 1 2 3 4 5 6 select i.animal_id, i.name from animal_ins i inner join animal_outs o on i.animal_id = o.animal_id where o.datetime - i.datetime >= 0 order by o.datetime - i.datetime desc limit 2; Colored by Color Scripter cs 1. join을 이용하여 입양 간 동물에 대해서만 검사한다. 2. 입양 간 날짜 - 보호한 날짜가 0이상인 정상적인 데이터를 필터링한다. 3. 내림차순으로 정렬한다. 4. 출력한다.
오랜 기간 보호한 동물(1) 1 2 3 4 select name, datetime from animal_ins where animal_id not in (select animal_id from animal_outs) order by datetime limit 3; Colored by Color Scripter cs 1. 입양 간 동물을 불러온다. 2. not in을 이용하여 보호소에 있는 동물 중 입양 간 동물들의 아이디에 포함되지 않은 아이디를 검색한다. 3. 정렬 후 출력
CCW(Counter Clock Wise) 알고리즘 3개의 점이 있을 때, 이 점을 이은 직선의 방향을 계산하는 알고리즘이다. 직선을 이은 방향은, 시계 방향, 직선 방향, 반시계 방향 중 하나로 결정된다. CCW 알고리즘을 이용하여 컨벡스 헐 알고리즘(Convex Hull Algorithm) 문제를 풀 수 있다. 커넥스 헐 알고리즘은 2차원 평면상에 여러 개의 점이 있을 때, 점 중 일부를 이용하여 모든 점을 포함하는 볼록 다각형을 만드는 알고리즘이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60..
다익스트라 알고리즘 1. 인접 행렬 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.PriorityQueue; import java.util.StringTokenizer; public cla..
프림 알고리즘 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer; public class MST2_PrimTest { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(Syste..
크루스칼 알고리즘 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer; public class MST1_KruskalTest { static class Edge implements Comparable { int from, to, w..
Union & Find 알고리즘 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 static int N; static int[] parents; // 단위집합 생성 static void makeSet() { parents = new int[N]; // 자신의 부모노드를 자신의 값으로 세팅 for (int i = 0; i
KMP(Knuth-Morris-Pratt) 알고리즘 패턴의 접두사와 접미사를 이용한 부분일치 테이블을 만들어서 매칭이 실패했을 때 패턴 포인터가 돌아갈 인덱스 번호를 계산한다. 해당 테이블을 이용하여 만든 KMP 코드는 아래와 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(Sys..