본문 바로가기
반응형

#알고리즘 [Algorithm]47

[프로그래머스 - 탐욕법] 큰 수 만들기 📄 [탐욕법] 큰 수 만들기 C++ Source Code #include #include #include using namespace std; string solution(string number, int k) { vector bucket; vector removeAt; // MARK: - 주어진 숫자로부터 하나씩 꺼내어 모으면서, 이때 모아둔 것 중 지금 등장한 것보다 작은 것들을 빼낸다. for (const auto letter : number) { // MARK: - 현재 조합하고자 하는 배열이 비어있는 경우 if (bucket.empty()) { bucket.push_back(letter); continue; } // MARK: - 현재의 숫자들이 추가 될 숫자보다 작은 경우에는 제거한다. whi.. 2019. 4. 21.
[정렬] 퀵 정렬 (Quick Sort) [정렬] 퀵 정렬 (Quick Sort) 퀵 정렬(quick sort)은 기준 키를 기준으로 작거나 같은 값을 지닌 데이터는 앞으로, 큰 값을 지닌 데이터는 뒤로 가도록 하여 작은 값을 갖는 데이터와 큰 값을 갖는 데이터로 분리해가며 정렬하는 방법이다. 퀵 정렬은 n개의 데이터를 정렬할 때, 최악의 경우에는 O(n^2)번의 비교를 수행하고, 평균적으로 O(n log n)번의 비교를 수행한다. 퀵 정렬의 내부 루프는 대부분의 컴퓨터 아키텍처에서 효율적으로 작동하도록 설계되어 있고(그 이유는 메모리 참조가 지역화되어 있기 때문에 CPU 캐시의 히트율이 높아지기 때문이다.), 대부분의 실질적인 데이터를 정렬할 때 제곱 시간이 걸릴 확률이 거의 없도록 알고리즘을 설계하는 것이 가능하다. 때문에 일반적인 경우 퀵.. 2019. 4. 16.
[프로그래머스 - 완전탐색] 소수 찾기 📄 [완전탐색] 숫자 야구 C++ Source Code #include #include #include #include using namespace std; #define MAX_V 9999999 #define LONG unsigned long long void prime(vector & isPrime, const int size) { for (LONG ii = 2; ii = 2) { answer++; } } return answer; } 🚀 REFERENCE GitHub C++ Source Code URL Programmers Problem URL 2019. 4. 15.
[프로그래머스 - 탐색] 타겟 넘버 카테고리 (Category) 작성 날짜 (Write Date) 최근 수정 날자 (Recent Write Date) 작성자 (Writer) Algorithm 2019.04.14 21:37 2021.05.04. 22:35 Dev.Yang n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. [제한사항] 주어지는 숫자의 개수는 2개 이상 20개 이하입니다. 각 숫.. 2019. 4. 14.
반응형