본문 바로가기
반응형

정렬5

[프로그래머스 - 정렬] 복서 정렬하기 카테고리 (Category) 작성 날짜 (Write Date) 최근 수정 날자 (Recent Write Date) 작성자 (Writer) 알고리즘 2021.09.27. 23:00:42 2021.09.27. 23:00:50 Dev.Yang 복서 선수들의 몸무게 weights와, 복서 선수들의 전적을 나타내는 head2head가 매개변수로 주어집니다. 복서 선수들의 번호를 다음과 같은 순서로 정렬한 후 return 하도록 solution 함수를 완성해주세요. 전체 승률이 높은 복서의 번호가 앞쪽으로 갑니다. 아직 다른 복서랑 붙어본 적이 없는 복서의 승률은 0%로 취급합니다. 승률이 동일한 복서의 번호들 중에서는 자신보다 몸무게가 무거운 복서를 이긴 횟수가 많은 복서의 번호가 앞쪽으로 갑니다. 자신보다 무거.. 2021. 9. 27.
[프로그래머스 - 탐욕법] 가장 큰 수 📄 [탐욕법] 가장 큰 수 C++ Source Code #include #include #include using namespace std; #define MAX_V 10 #define STRING_VECTOR vector #define TO_INDEX(X) X - '0' /* ※ CAPTION ※ 자릿수가 다른 숫자가 주어질 경우에는 (6, 10) 이면 6 + 10 = 610 / 10 + 6 = 106 의 값으로 비교한다. (A + B 106의 값을 비교한다. */ const bool compare(const string & first, const string & second) { return firs.. 2019. 4. 21.
[정렬] 퀵 정렬 (Quick Sort) [정렬] 퀵 정렬 (Quick Sort) 퀵 정렬(quick sort)은 기준 키를 기준으로 작거나 같은 값을 지닌 데이터는 앞으로, 큰 값을 지닌 데이터는 뒤로 가도록 하여 작은 값을 갖는 데이터와 큰 값을 갖는 데이터로 분리해가며 정렬하는 방법이다. 퀵 정렬은 n개의 데이터를 정렬할 때, 최악의 경우에는 O(n^2)번의 비교를 수행하고, 평균적으로 O(n log n)번의 비교를 수행한다. 퀵 정렬의 내부 루프는 대부분의 컴퓨터 아키텍처에서 효율적으로 작동하도록 설계되어 있고(그 이유는 메모리 참조가 지역화되어 있기 때문에 CPU 캐시의 히트율이 높아지기 때문이다.), 대부분의 실질적인 데이터를 정렬할 때 제곱 시간이 걸릴 확률이 거의 없도록 알고리즘을 설계하는 것이 가능하다. 때문에 일반적인 경우 퀵.. 2019. 4. 16.
[프로그래머스 - 정렬] K번째수 📄 [정렬] K번째수 C++ Source Code #include #include #include using namespace std; const int findTarget(const vector & arr, const int left, const int right, const int target) { vector bucket = vector(arr.begin() + left, arr.begin() + right); std::sort(bucket.begin(), bucket.end()); return bucket[target]; } vector solution(vector array, vector commands) { vector answer; for (const auto command : command.. 2019. 4. 5.
반응형