No Rules Rules

영단어 암기는 괴로워 (feat. 백준, 20920번) 본문

생활/코테

영단어 암기는 괴로워 (feat. 백준, 20920번)

개발하는 완두콩 2023. 4. 20. 12:30
728x90
반응형

영단어 암기는 괴로워
https://www.acmicpc.net/problem/20920

 

20920번: 영단어 암기는 괴로워

첫째 줄에는 영어 지문에 나오는 단어의 개수 $N$과 외울 단어의 길이 기준이 되는 $M$이 공백으로 구분되어 주어진다. ($1 \leq N \leq 100\,000$, $1 \leq M \leq 10$) 둘째 줄부터 $N+1$번째 줄까지 외울 단

www.acmicpc.net

 

// woohyeon.kim
// kim519620.tistory.com
#include <iostream>
#include <unordered_map>
#include <vector>
#include <algorithm>
using namespace std;
inline bool cmp(const pair<string, int>& v1, const pair<string, int>& v2){
    if(v1.second == v2.second){
        if(v1.first.size() == v2.first.size()){
            return v1.first < v2.first;
        }
        return v1.first.size() > v2.first.size();
    }
    return v1.second > v2.second;
}
int main() {
	ios::sync_with_stdio(false), cin.tie(NULL);
    unordered_map<string, int> arr;
    string str;
    register int N, M;
    cin >> N >> M;
    for(register int n = 0; n < N; ++n){
        cin >> str;
        if(str.size() < M)
            continue;
        ++arr[str];
    }
    vector<pair<string, int>> ans(arr.begin(), arr.end());
    sort(ans.begin(), ans.end(), cmp);
    for(auto& p : ans)
        cout << p.first << '\n';
    return 0;
}
// *&)*@*

 

반응형

주어진 조건에 맞는 predict (조건자) 를 생성하여 sort시 조건자가 수행될 수 있게 해주면 됩니다.

728x90
반응형
Comments