본문으로 바로가기

[풀이 - Jim and the Orders] : <Easy / 88.17%>

더보기
#define pp pair<int, int>

bool cmp(const pp& a, const pp& b)
{
    if (a.second == b.second) return a.first < b.first;
    return a.second < b.second;
}
//
vector<pp> SortMapByValue(map<int, int>& m)
{
    vector<pp> vec( m.begin(), m.end() );
    //
    sort(vec.begin(), vec.end(), cmp);
    
    return vec;
}
// Complete the jimOrders function below.
vector<int> jimOrders(vector<vector<int>> orders)
{
    // pp : pair<int, int>
    vector<int> result;
    //
    map<int, int> serveTimes;
    //
    int count = orders.size();
    for(int i = 0; i < count; ++i)
    {
        int serveTime = orders[i][0] + orders[i][1];
        serveTimes[i+1] = serveTime;
    }
    // Set vector of sorted map by value
    vector<pp> v = SortMapByValue(serveTimes);
    // make vector of key
    for(int i = 0; i < v.size(); ++i)
        result.push_back(v[i].first);
    //
    return result;
}

# Sort 'map' by value

 


[풀이 - Permuting Two Arrays] : <Easy / 94.05%>

더보기
string twoArrays(int k, vector<int> A, vector<int> B)
{
    int count = A.size();
    sort(A.begin(), A.end(), less<int>());
    sort(B.begin(), B.end(), greater<int>());
    //
    for(int i = 0; i < count; ++i)
    {
        if(A[i] + B[i] < k)
            return "NO";
    }
    //
    return "YES";
}

# Sort : Comp : greater<int>(), less<int>()

 


[풀이 - Lonely Integer] : <Easy / 96.58%>

더보기
int lonelyinteger(vector<int> a)
{
    map<int, int> m;
    //
    int count = a.size();
    for(int i = 0; i < count; ++i)
        m[a[i]]++;
    //
    auto iter = m.begin(), end = m.end();
    for(; iter != end; ++iter)
    {
        int count = iter->second;
        if(count == 1)
            return iter->first;
    }
    //
    return m.begin()->first;
}

 


[풀이 - Maximizing XOR] : <Easy / 96.95%>

더보기
int maximizingXor(int l, int r)
{
    int max = 0;
    for(int i = l; i <= r; ++i)
        for(int j = l; j <= r; ++j)
        {
            int temp = (i ^ j);
            if(temp > max)
                max = temp;
        }
    //
    return max;
}

# XOR : exclusive or 연산 (a ^ b)