Algorithm
-
SQLAlgorithm 2020. 9. 16. 14:04
DESC 테이블 구조 검색 기능 DESC city BETWEEN 데이터가 숫자로 구성되어 있고 연속적인 값을 얻을때 사용 SELECT * FROM city WHERE Population BETWEEN 70000 AND 80000 IN 이산적인 값의 조건에서 사용 SELECT * FROM city WHERE Name IN('Seoul','New York','Tokyo') // Name이 'Seoul','New York','Tokyo'인것만 검색 LIKE 문자열의 내용 검색하기 위해 사용 문자 뒤에 %를 사용하면 뒤에 무엇이든 허용 한 글자와 매치 하기 위해서는 '_' 사용 SELECT * FROM city WHERE CountryCode LIKE 'KO_' SELECT * FROM city WHERE Na..
-
[알고리즘] 에라토스테네스의 체(소수 알고리즘)Algorithm 2020. 9. 16. 14:00
2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다. 그림에서 회색 사각형으로 두른 수들이 여기에 해당한다. 2는 소수이므로 오른쪽에 2를 쓴다. (빨간색) 자기 자신을 제외한 2의 배수를 모두 지운다. 남아있는 수 가운데 3은 소수이므로 오른쪽에 3을 쓴다. (초록색) 자기 자신을 제외한 3의 배수를 모두 지운다. 남아있는 수 가운데 5는 소수이므로 오른쪽에 5를 쓴다. (파란색) 자기 자신을 제외한 5의 배수를 모두 지운다. 남아있는 수 가운데 7은 소수이므로 오른쪽에 7을 쓴다. (노란색) 자기 자신을 제외한 7의 배수를 모두 지운다. 위의 과정을 반복하면 구하는 구간의 모든 소수가 남는다. public class Eratostenes { public static void main(String[..
-
[알고리즘] 중복없는 조합Algorithm 2020. 9. 16. 13:58
조합이란 n 개의 숫자 중에서 r 개의 수를 순서 없이 뽑는 것을 뜻한다. /* arr: n개의 숫자로 이루어진 배열 visited: 뽑을지 안뽑을지 결정해주는 boolean start: 시작 지점 n: 조합을 하려는 배열의 길이 r: n개중 뽑을 숫자의 개수 */ static void combination(int[] arr, boolean[] visited, int start, int n, int r) { if(r == 0) { print(arr, visited, n); return; } for(int i=start; i
-
[알고리즘] 우선순위 큐Algorithm 2020. 9. 16. 13:58
우선순위 큐(Priority Queue) 우선순위 큐(Priority Queue)는 들어간 순서에 상관없이 일정한 규칙에 따라 우선순위를 선정하고, 우선순위가 가장 높은 데이터가 가장 먼저 나오게 됩니다. PriorityQueue priorityQueue = new PriorityQueue(); priorityQueue.offer(4); priorityQueue.offer(3); priorityQueue.offer(2); priorityQueue.offer(1); System.our.println(priorityQueue.poll()) // 1 출력 기본적으로 숫자는 낮은 것이 우선순위를 높게 봅니다. 우선순위 변경하기 Java는 기본적으로 오름차순으로 정렬하게 되는데, 만약 다른 오름차순으로 사용하고 ..
-
[알고리즘] 최소힙Algorithm 2020. 9. 16. 13:57
static public class minHeap { private ArrayList heap; public minHeap() { heap = new ArrayList(); heap.add(0); } // 삽입 public void insert(int val) { heap.add(val); int p = heap.size() - 1; // 힙 사이즈 -1이 1보다 작아질 때까지 진행 -> root로 이동 while (p > 1 && heap.get(p / 2) > heap.get(p)) { // 부모보다 자식 노드가 더 작으면 바꾼다 (최소힙) int tmp = heap.get(p / 2); heap.set(p / 2, heap.get(p)); heap.set(p, tmp); p = p / 2; // p..
-
[알고리즘] 버블정렬Algorithm 2020. 9. 16. 13:57
public class BubbleTest { public static void main(String[] args) { int[] a = {254,3,213,64,75,56,4,324,65,78,9,5,76,3410,8,342,76}; int b; for(int i = 0 ; i a[j+1]) { b = a[j]; a[j] = a[j+1]; a[j+1] = b; } } } for(int i = 0 ; i < a.length ; i ++) { System.out.println(a[i]); } } } 인접한 두개의 원소를 비교하여 자리를 교환하는 방식으로 정렬
-
[알고리즘]N진법 변환Algorithm 2020. 9. 15. 12:32
public static String toDeposition(int value, int n) { String returnString = ""; if (value == 0) return "0"; while (value != 0) { // 나머지가 0~9 사이이면 캐릭터 값을 배열에 저장 if ((value % n) 좌로 배열 returnString = (value % n) + returnString; //몫을 구함 value /= n; } // 나머지가 10 이상이면 해당하는 값의 알파벳을 저장 else { char temp1 = (char) ((value % n) + 55); value /= n; returnString = temp1 + returnString; } } re..