본문으로 바로가기

[풀이 - Quicksort1 - Partition] : <Easy / 95.86%>

더보기
vector<int> quickSort(vector<int> arr)
{
    vector<int> result;
    int pivot = arr[0];
    //
    vector<int> left;
    vector<int> equal;
    vector<int> right;
    //
    for(int i = 0; i < arr.size(); ++i)
    {
        if(arr[i] == pivot)
            equal.push_back(arr[i]);
        else if(arr[i] < pivot)
            left.push_back(arr[i]);
        else // if(arr[i] > pivot)
            right.push_back(arr[i]);
    }
    //
    for(int i : left)
        result.push_back(i);
    for(int i : equal)
        result.push_back(i);
    for(int i : right)
        result.push_back(i);
    //
    return result;
}

 


[풀이 - Pangrams] : <Easy / 94.62%>

더보기
string pangrams(string s)
{
    map<char, int> m;
    for(int i = 0; i < s.size(); ++i)
        m[tolower(s[i])]++;
    //
    for(char c = 'a'; c <= 'z'; ++c)
    {
        if(m[c] == 0)
            return "not pangram";
    }
    //
    return "pangram";
}

 


[풀이 - Weighted Uniform Strings] : <Easy / 73.14%>

더보기
vector<string> weightedUniformStrings(string s, vector<int> queries)
{
    vector<string> result;
    //
    map<int, int> allWeights;
    int weight = 0;
    int prevWeight = 0;
    //
    for(int i = 0; i < s.length(); ++i)
    {
        int curWeight = s[i] - 'a' + 1;
        //
        if(curWeight == prevWeight)
            weight += curWeight;
        else
            weight = curWeight;
        //
        allWeights[weight]++;
        //
        prevWeight = curWeight;
    }
    //
    for(int i = 0; i < queries.size(); ++i)
    {
        if(allWeights.count(queries[i]) == 0)
            result.push_back("No");
        else
            result.push_back("Yes");
    }
    //
    return result;
}