9건의 항목
정렬에 대해 깊게 공부해보자.
골드2 : 그리디, 정렬 문제이다. 생각 실제로 운송물을 움직인다고 생각해보자. 그렇다면 가장 무거운 하중을 움직일 수 있는 크레인이 가장 많이 움직여야 최단 시간에 짐을 움직일 수 있다. 이부분이 핵심이다.
실버5 : 정렬 문제이다. 생각 정렬 문제이다. merge sort(합병 정렬)을 구현해보고자 시도했다. 알고리즘 기본적인 병합 정렬의 알고리즘은 다음과 같다. 위키 백과 - 합병 정렬 좀 더 자세한 설명 partition 나누는 방법은 간단하다.
실버3 : 정렬 문제이다. 생각 문제에서 하라는 대로 비교만 하면 된다.
실버2 : 파라메트릭 서치 문제이다. Root 찾기 처음에 또다시 해시로 풀려고 하다가, 중간에 입력값의 범위가 후덜덜한 것을 보고 풀이 방법을 바꾸었다. 이 문제를 그냥 linear하게 풀려고 하면 100000번을 linear하게 탐색해야 하기 때문에 터져버린다.
실버4 : 정렬 생각 최빈값 구할 때, 머리를 좀 써야한다. map구조를 잘 써볼 것. 그리고 정렬하는 방법도 고민해볼 것. Code // // main.cpp // test2 // // Created by 최완식 on 2021/03/29.
풀이1 이게 보면, 전화번호 개수가 백만개라 단순히 비교로 풀면 n^2이라 박살난다. 그렇기 떄문에 다른 방법을 고민해야한다. 이 문제의 핵심은 결국 특정 단어가 접두어로 있는지에 대한 문제이다. 그렇기 때문에 startswith를 생각하는 것이 편하다.
문자열 처리는 파이썬으로 find() isalpha() isalnum() for ~ in list, string으로 하나씩 꺼낼 수 있다. ~ in list, string으로만 하면 t/f 반환한다.
개요 SORT(Simple Online and Realtime Tracking)은 매우 알고리즘이 간단함에도 불구하고 효과적이고 실용적인 다중 대상 추적 알고리즘이다. IOU를 기반으로 추적된 물체에 대해 association(할당)을 진행하기 때문에 매우 빠르다.