YeJin's Footsteps

튜플 본문

Computer Science & Engineering/알고리즘

튜플

YeJinii 2021. 5. 2. 19:39

문제 링크

https://programmers.co.kr/learn/courses/30/lessons/64065

 

코딩테스트 연습 - 튜플

"{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1]

programmers.co.kr

 

 

문제 풀이 코드

#include <string>
#include <vector>
#include <unordered_map>
#include <cctype>
#include <iostream>
#include <algorithm>

using namespace std;

bool cmp(pair<int,int> &a, pair<int,int> &b){
    return a.second>b.second;
}

vector<int> solution(string s) {
    
    unordered_map<int,int> cnt;
    int num=0;
    for(int i=0; i<s.length(); i++){
        if(isdigit(s[i])){
            num*=10;
            num+=((int)s[i]-48);
        }
        else{
            //if(num){cout<<num;}
            cnt[num]++;
            num=0;
        }
    }
    
    vector<pair<int,int>> sort_before;
    for(auto c: cnt){
        if(c.first!=0&&c.second>0){
            sort_before.push_back(c);
        }
    }
    
    sort(sort_before.begin(), sort_before.end(), cmp);
    
    vector<int> answer;
    for(int i=0; i<sort_before.size(); i++){
        answer.push_back(sort_before[i].first);
    }
    
    
    return answer;
}

 

'Computer Science & Engineering > 알고리즘' 카테고리의 다른 글

불량사용자  (0) 2021.05.07
신규 아이디 추천  (0) 2021.05.02
크레인 인형 뽑기 게임  (0) 2021.05.02
완주하지 못한 선수  (0) 2021.05.02
next_permutation(start, end)  (0) 2021.04.18
Comments