multiset 2

[자료 구조] 멀티셋 C++

개요C++에서의 멀티셋은 STL에서 제공하는 연관 컨테이너로, 중복된 키 값을 허용하는 특징이 있다.주요 특징은 하기와 같다.자동 정렬: 원소들이 자동으로 정렬됨중복 허용: 같은 값을 여러 번 저장 가능검색 효율: 이진 탐색 트리 기반으로 구현되어 있어 검색이 효율적 (O(log n))불변성: 한번 삽입된 원소의 값을 직접 수정할 수 없음멀티셋은 중복된 데이터를 유지하면서 정렬이 필요한 경우에 유용하다.예를 들어 빈도수 계산, 정렬된 데이터에서 중복을 허용하는 경우, 우선순위가 같은 항목들을 관리할 때이다. 구조체를 통한 operator함수 또한 적용이 가능하다.삼성 SW 역량평가 B형을 준비할 때 기출문제를 풀며 얻었던 지식에 관해 짧게 작성해 보겠다.  멀티셋을 이용한 데이터 관리#include#in..

자료 구조 2025.02.17

[G4] 백준 7662번 이중 우선순위 큐 C++ 멀티셋, multiset

리뷰 구현이 생각보다 빡세서 많이 애먹었다.. 4달 전에도 못풀었지만 4달이 지난 후에도 애를 먹은 문제 ㅠㅠ대신 멀티셋이라는 새로운 STL을 접하게 된 계기가 되었다.https://www.acmicpc.net/problem/7662 문제 풀이각 테스트 케이스마다 쿼리의 개수 k를 입력받고, 정수형 멀티셋 dic을 초기화 해준다.각 쿼리마다 I또는 D값이 입력되므로 해당 값을 문자 타입 order 변수에 입력 받는다.추가로 order 뒤에는 항상 정수 값이 입력되므로 정수형 변수 n에 값을 입력 받는다.order가 I인 경우 dic에 n을 insert 해준다.order가 D인 경우 dic이 비어있으면 continue, 아니라면 최대 최소에 따라 dic의 end와 begin을 erase 해준다.모든 쿼리에..

728x90