반응형

전체 글 112

알고리즘 인덱스 트리, 세그먼트 트리

인덱스 트리 개념설명 https://beenii.tistory.com/156 세그먼트 트리 개념설명 https://minusi.tistory.com/entry/%EC%84%B8%EA%B7%B8%EB%A8%BC%ED%8A%B8-%ED%8A%B8%EB%A6%ACSegment-Tree-Index-Tree 인덱스 트리 vs 세그먼트 트리 인덱스 트리: 리프노드를 모두 채워서 만듦. 특정 인덱스(node)로 지정 탐색이 가능. 업데이트도 지정 업데이트 가능(리프노드부터 업데이트 가능) 세그먼트 트리: 필요한 리프노드만 채움. 불완전 트리라서 특정 인덱스(node)로 지정 탐색이 어려움. 업데이트도 지정 업데이트가 불가능(루트노드부터 업데이트 필요) => 문제에서 인덱스가 주어지는 경우 인덱스 트리를 사용하는 것이..

알고리즘 2021.07.30

백준 12015 가장 긴 증가하는 부분 수열2 Java

테스트케이스 포함 BOJ 12015 가장 긴 증가하는 부분 수열2 https://www.acmicpc.net/problem/12015 이 문제는 Lower Bound 개념을 알고 있어야만 풀 수 있는 문제. Lower Bound 개념의 응용버전으로 0번째 자리에 비교 기준값인 0을 갖는다. 어려워서 많이 헤맸던지라 내가 만들거나 백준에서 수집한 테스트 케이스도 있다. (확장자가 없는 파일이라 raw로 봐야함. 이클립스로 열면 한글까지 확인 가능. 테스트 케이스 바로가기) 여러 풀이를 참고했는데 가장 도움이 될만한 글만 모아봤다. 이분탐색을 이용해야하는 이유: 작은 수부터 정렬하는 게 경우의 수를 높일 수 있다. https://guccin.tistory.com/81 Lower Bound 개념 https:/..

알고리즘 2021.07.29

C# Thread Dispatcher (Cross Thread 방지)

1. 많은 UI 구성 요소에서 호출 스레드가 필요하므로 해당 스레드는 STA여야 합니다. 2. 다른 스레드가 이 개체를 소유하고 있어 호출한 스레드가 해당 개체에 액세스할 수 없습니다 전부 Cross Thread 문제로 메인쓰레드가 버튼A에 색상을 넣는 등의 작업을 하고 있을 때 서브쓰레드가 버튼A에 접근할 경우 충돌이 발생하는 문제 Dispatcher.CurrentDispatcher.InvokeAsync(delegate{ //To do }, DispatcherPriority.Loaded); Dispatcher.BeginInvoke(DispatcherPriority.Normal, delegate(){ // To do }); 나는 첫번째 방법을 사용했다. 메인쓰레드에서 파생된 쓰레드를 사용하는 방법이라고 ..

C#/WPF 2021.07.21

C# List<T> Sort 무명메소드

List list.Sort() 방식 중 IComparer 를 상속받아 만드는 무명메소드 방식 3. List.Sort(제네릭 IComparer) 1. List.Sort() 2. List.Sort(제네릭 Comparison) class Users{ int num; // 정렬기준 string name; } List u = new List(); u.add(new Users(1,"nameA"); u.add(new Users(2,"nameb"); u.add(new Users(3,"namec"); u.add(new Users(4,"named"); 3. List.Sort(제네릭 IComparer) 여기서 잠깐 사용할 건데 함수까지 만들긴 번거롭다 할 때 쓸 수 있는 방식 3.1. delegate 식 u.Sort(del..

C# 2021.07.21
반응형