본문 바로가기
반응형

python142

[알고리즘] 더 맵게 포인트 1. Heap 문제 임을 기억하고 알아보자 Heap은 무엇일까? Heap은 완전 이진 트리 이며, `우선 순위가 높은` 노드가 루트 쪽에 가까운 자료구조를 말합니다. 또 이를 구현한 것이 priority_queue (우선순위 큐) 입니다. 우선 순위에 따라서 min_heap, max_heap 이라고 합니다. 이 문제의 경우는 min_heap 을 사용하는 것이 현명하다고 생각합니다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. 기존 문제 그대로 푼 코드 #include #include #include #include #include using namespace std; int solution(vector vc, int K) { int answer = 0; while (vc.size() .. 2020. 10. 22.
[알고리즘] 가장 큰 수 포인트 string 의 정렬의 기본을 알면 편합니다. string 의 기본 정렬은 문자열의 길이 입니다. 문자열의 길이 순서로 정렬이 됩니다. 그럼 이때 string 으로 된 숫자 들은 어떻게 정렬을 할까요? 그 방법은 사전식 순서 입니다. 코드에서 처럼 string 자체를 대소 비교를 하게 되면 사전식 순으로 배열을 하게 됩니다. python 문자열을 무조건 사전식 먼저, 그 다음 길이 순서 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. c++/cpp #include #include #include using namespace std; bool cmp(string a, string b) { if (b + a < a + b) return true; return false; } string so.. 2020. 10. 22.
[알고리즘] 전화번호 목록 포인트 짧은 아이디어가 중요한 것 같다. string 은 기본 정렬은 string 의 크기순 find 함수를 써서 뒤에 string 에 포함이 되어 있는지를 확인 안되어 있으면 string::npos 하고 비교를 한다. 문서가 수정되었습니다. (2021.03.18) 문자열은 정렬을 하게 되는 경우 길이와 상관없이 앞글자를 기준으로 정렬되면 그 이후 길이로 정렬이 됩니다. 처음에는 포함되지 못한 경우를 고려하였으나 반례가 생겼고 맨 앞 인덱스에서 발견하지 못하는 경우로 바꾸었습니다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. c++/cpp #include using namespace std; bool solution(vector phoneBook) { sort(phoneBook.begin().. 2020. 10. 22.
[알고리즘] K번째 수 포인트 1. stl에 사용하는 것에 익숙해질 필요가 있다. 2. 정렬은 (sort, stable_sort 가 있다.) 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. c++/cpp #include #include #include #include using namespace std; vector solution(vector array, vector commands) { vector answer; for (auto ele : commands) { vector vc; vc.assign(array.begin() + ele[0] - 1, array.begin() + ele[1]); sort(vc.begin(), vc.end()); answer.push_back(vc[ele[2] - 1]); } retur.. 2020. 10. 21.
반응형