분류 전체보기
-
BindingAdapter에서 margin 설정하기Android 2020. 9. 24. 14:26
리사이클러 뷰를 사용하다보면 아이템마다 다르게 margin값을 설정해야 할 때가 있다. 그럴때 BindingAdapter를 사용하여 margin을 설정해줄 수 있다. data class TextData( override val marginStart: Int, override val marginEnd: Int, override val marginTop: Int, override val marginBottom: Int ) : BaseTextData margin만 설명을 하자면 Data 클래스에 아이템별로 margin 값을 담아놔준다. (text 나 size등을 설정 할때도 동일하다.) val Int.dp: Int get() { val metrics = Resources.getSystem().displayMe..
-
Introduction to ActivitiesAndroid 공식문서 2020. 9. 22. 17:27
The Activity class is a crucial component of an Android app, and the way activities are launched and put together is a fundamental part of the platform's application model. Unlike programming paradigms in which apps are launched with a main() method, the Android system initiates code in an Activity instance by invoking specific callback methods that correspond to specific stages of its lifecycle..
-
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]); } } } 인접한 두개의 원소를 비교하여 자리를 교환하는 방식으로 정렬