본문 바로가기

분류 전체보기

(158)
c++ peak element O(logn)으로 찾기 코드 >> 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 #include #include #include // Find peak element int peak_ele(std::vector& nums) { int left = 0; int rightmax = (int)nums.size() - 1; int right = (int)nums.size() - 1; int pivot = (left + right) / 2; int nextValue; if (nums.size()
c++ in-place merge sort O(n) 간단한 구현 { 1,3,5,8,0,0,0,0 } 같은 배열이 있을 때 { 1,2,3,4 } > 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 #include #include void merge_sort(std::vector& nums1, int m, std::vector& nums2, int n) { int idx0 = m - 1; int idx1 = (int)nums2.size() - 1; int idx2 = n - 1; if (idx2 = 0)) { if (nums1[..
캐글 SIIM-FISABIO-RSNA COVID-19 Detection - 베이스 전략 study label을 통해서 image label의 병변별 클래스 존재 여부를 알 수 있다. image level의 2class cv와 multilbel class cv를 비교하여야 한다. opacity와 negative가 무조건 일치하는 것은 아니기 때문에 일단 none vs opacity를 구분하는 2 classifier를 만들자. study-label은 segmentation aux loss를 사용하는 방법과 그냥 4 class output prediction을 사용하는 방법을 고려해야 한다. object detection은 그냥 yolov5로 가자...
캐글 SIIM-FISABIO-RSNA COVID-19 Detection - Study image의 특징 Studies either contain a single image (the majority) or multiple images (up to 9) All of the images within the studies are also found in the image level dataset If a study contains multiple images, a maximum of one image and a minimum of zero images will have bounding boxes even though all of the images exist in the image level dataset. There are 2 typical scenarios that occur when multiple imag..
c++ leet code medium Color sort problem color sort는 std::vector nums = {1,0,0,1,1,2,0,1,2,2,0,1,2,0,1}; 과 같은 배열을 {0,0,0,0,0,1,1,1,1,1,1,2,2,2,2}와 같이 분할한다. O(n)이 복잡도로 한번 풀어본다. 코드 >> 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 #include #include void color_sort(std::vector& nums) { int idx0 = 0; int idx1 = 0; int idx2 = (int)nums.size()-1;..
c++ quick sort 구현 코드 quick sort는 정렬을 평균적으로 O(n*logn)의 시간복잡도로 수행 가능하다. 최악의 경우는 O(n^2)이다. quick sort의 정렬이 최악이 되는 경우는 pivot이 계속 인덱스의 끝에 위치하는 경우이다. 하지만 구현하기 쉬우면서, 평균적으로 O(nlogn)이기 때문에 괜찮다. 코드 >> 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 #include #include void quick_sort(int star..
c++ PS Find pivot Index, Find minimum subarray with O(n) Brute force를 사용하면 쉽게 해결할 수 있으나 O(n)으로 해결하도록 하자. 코드 >> 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 69 70 #include #include #include // 문제 1.Find Pivot Index // [1,8,2,9,2,3,6] (1+8+2 == 2+3+6) 9가 Pivot! // [2,5,7] 피봇이 없음 -> -1 Return하기 // O(n)에 계산할..
c++ 코딩테스트 array에서 0을 뒤로 보내기(Move zeros) 문제 {1,3,0,0,0,4,0,5}를 {1,3,4,5,0,0,0,0}으로 변환하라 코드 >> 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 #include #include #include #include // 0 움직이기 // [1,3,4,0,0,4,0,5] void swap(int& a, int& b) { int tmp = a; a = b; b = tmp; } // Swap void moveZeroes(std::vector& nums) { int zIdx ..