본문으로 바로가기

[풀이 - Separate the Numbers] : <Easy / 88.36%>

더보기
void separateNumbers(string s)
{
    int count = s.length();
    for(int i = 1; i <= (count / 2); ++i)
    {
        string temp = s.substr(0, i);
        long firstValue = stol(temp);
        //
        while(temp.length() < count)
            temp += to_string(++firstValue);
        //
        if(temp == s)
        {
            cout << "YES " << s.substr(0, i) << endl;
            return;
        }
    }
    //
    cout << "NO" << endl;
    return;
}

 


[풀이 - Funny String] : <Easy / 94.33%>

더보기
string funnyString(string s)
{
    int l = s.length();
    string r = "";
    for(int i = l-1; i >= 0; --i)
        r += s[i];
    //
    for(int i = 1; i < l; ++i)
    {
        int diff_s = abs(s[i] - s[i-1]);
        int diff_r = abs(r[i] - r[i-1]);
        //
        if(diff_s != diff_r)
            return "Not Funny";
    }
    //
    return "Funny";
}

 


[풀이 - Counting Sort 1] : <Easy / 95.72%>

더보기
vector<int> countingSort(vector<int> arr)
{ // 0 <= arr[i] < 100
    vector<int> result(100, 0);
    //
    for(int i = 0; i < arr.size(); ++i)
        ++result[arr[i]];
    //
    return result;
}

 


[풀이 - Counting Sort 2] : <Easy / 96.93%>

더보기
vector<int> countingSort(vector<int> arr)
{
    vector<int> result;
    //
    const int maxValue = 100;
    vector<int> frequency(maxValue, 0);
    //
    int count = arr.size();
    for(int i = 0; i < count; ++i)
        ++frequency[arr[i]];
    //
    for(int i = 0; i < frequency.size(); ++i)
        for(int j = 0; j < frequency[i]; ++j)
            result.push_back(i);
    //
    return result;
}