Heap & 우선순위 큐 (9) 썸네일형 리스트형 친구 추천 SNS 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141#define _CRT_SECURE_NO_WARNINGS#include iostream>#include cstring>#include vector> .. 가운데를 말해요 https://www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 최대 힙 & 최소 힙을 사용해 중간값을 구하는 알고리즘을 알아보자. 1. 최소 힙의 값들은 모두 최대 힙보다 크도록하고 2. 최대 힙의 크기가 최소 힙의 크기보다 1 크거나 같도록 유지하며 값을 넣는다. 3. 값을 넣어준 후 최대 힙과 최소 힙의 top 값을 비교해서 최소 힙의 top보다 최대 힙의 top이 더 크다면 값을 교환해준다. 그러면 최대 힙의 top값이 중간값이 된다. .. (중요!!!) 연산자 오버로딩 및 Heap 직접 구현 내가 만든 구조체에 대한"연산자"를 정의하여 사용하는 것이다. priority_queue에서a.operator 가 참일 때 b를 heap의 top에 올려준다 12345// 최소 힙bool operator { return a.d > b.d;}Colored by Color Scriptercs b의 d가 작을 때,즉 return 값이 true 일 때b를 heap의 top에 올려준다 -> 최소 힙 return a return a > b; 구조체 비교 연산에서는 위와 동일sort에서는 반대이다. MAX 10만명의 User에 대해 수입이 주어진다.수입이 가장 큰 user 10명의 uID를 수입에 대해 내림차순으로 구하라. void addUser (int uID, int income)user을 추가하는 .. Social Media 보호되어 있는 글입니다. 카드 정렬하기 https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 카드의 장수가 적은 카드 묶음끼리 더하는 것이 횟수를 줄일 수 있다. 10, 20, 40이 있으면 10, 20을 합치고 30, 40을 하면 -> 100회 즉, 현재 존재하는 카드 묶음 중에서 가장 적은 2개의 묶음을 우선적으로 계산 -> 우선 순위 큐 배열을 이용한 이진트리로 구현한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 .. 뉴스 알림 보호되어 있는 글입니다. 중간값 구하기 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV-fO0s6ARoDFAXT&categoryId=AV-fO0s6ARoDFAXT&categoryType=CODE&problemTitle=%EC%A4%91%EA%B0%84%EA%B0%92&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 단순하게 넣고 정렬하며 중간값을 구하는 것이 아니다 -> 시간 초과 최대힙, 최소힙을 이용해서 구한다... 문제 추천 시스템 Version 1 https://www.acmicpc.net/problem/21939 21939번: 문제 추천 시스템 Version 1 tony9402는 최근 깃헙에 코딩테스트 대비 문제를 직접 뽑아서 "문제 번호, 난이도"로 정리해놨다. 깃헙을 이용하여 공부하시는 분들을 위해 새로운 기능을 추가해보려고 한다. 만들려고 하는 명령 www.acmicpc.net 최소 힙과 최대 힙을 구현해서 해결하자. 하나의 구조체로 두 개의 힙을 만들기 때문에 연산자 오버로딩은 못쓴다. 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.. 이전 1 2 다음