: 백준 다이어트
: 문법적으로는 됨.
이때는 insert가 사용 안되고,
왜 그런지는 모르겠찌만,,,, map으로 선언된 변수는 vector의 함수를 사용가능하게 됨....
: 위에서는 동일한 인덱스 값에다가 push_back을 해준 형태로 되어 있음.
왜 이걸로 접근해야 됨???
1.multimap의 경우에는 인덱스 접근이 불가능함.
2.중복처리를 통해 처리해야 함.
1) 멀티맵은 인덱스 접근 못함.
2) map_1차원 벡터 컨테이너를 정렬하기
3) map-2차원 벡터 넣고, 정렬하기 .
-> 관련 문제 : 백준 다이어트
#include <iostream>
using namespace std;
#include <vector>
#include <string>
#include <algorithm>
#include <map>
int main()
{
map<int, vector<vector<int>>>m;
vector<int>v{ -1,2,-111,888,3,4 };
vector<int>v2{ 1,2,3,4,5 };
m[1].push_back(v2);
m[1].push_back(v);
m[1].push_back(v);
vector<int>v3{ -1,-88,2,1 };
m[-2].push_back(v3);
for (auto iter : m)
{
cout << "key 값은 ";
cout << iter.first << endl;
//second 값은 벡터임..
// 그리고 따로 따로임.
for (auto iter2 : iter.second)
{
cout << "value 값은 ";
for (int i = 0; i < iter2.size(); ++i)
{
cout << iter2[i] << " ";
}
cout << endl;
}
cout << endl;
}
cout << "sort" << endl;
sort(m[1].begin(), m[1].end());
for (auto iter : m)
{
cout << "key 값은 ";
cout << iter.first << endl;
//second 값은 벡터임..
// 그리고 따로 따로임.
for (auto iter2 : iter.second)
{
cout << "value 값은 ";
for (int i = 0; i < iter2.size(); ++i)
{
cout << iter2[i] << " ";
}
cout << endl;
}
cout << endl;
}
}