Problem

2/9

정렬된 목록 #1

Theory Click to read/hide

기본적으로 목록의 데이터는 키를 기준으로 오름차순으로 정렬되며 이 정렬 순서를 변경해야 하는 경우가 자주 발생합니다.
이렇게 하려면 지정한 대로 데이터를 배치하는 비교기를 작성할 수 있습니다.

키의 내림차순으로 정렬하는 비교기의 예(메인 앞에 작성됨):

struct cmp
{
부울 연산자()(const 문자열 &< /span>a, const 문자열 &b) const
{
return > 비;
}
};

목록을 만들 때 사용됩니다.

지도<문자열, int, cmp> ; 마이맵;

Problem

Alpha-Frequency Dictionary 만들기: 각 단어의 오른쪽에 있는 알파벳 순서의 단어 목록은 소스 파일에서 해당 단어가 몇 번 나오는지 표시해야 합니다. 텍스트 끝의 기호는 "END!"입니다. 목록은 사전식 내림차순으로 키별로 정렬되어야 합니다.
  <몸>
 
입력 출력
하나

하나


하나
종료!
3 1
하나 3
두 2
Write the program below
#include<iostream>	
#include <map>
#include<string>
using namespace std;
struct cmp
{
	

       
};

int main() {

	map<string, int, cmp> mymap;
	string s;
	while (!cin.eof())
	{
		cin >> s;
		if (s == "END!")  break;
		mymap[s]++;

	}
	map<string, int>::iterator it;

	for (it = mymap.begin(); it != mymap.end(); ++it)
	cout <<  it->first << " " << it->second << "\n";
	

	return 0;
}

       

     

Program check result

To check the solution of the problem, you need to register or log in!