[풀이 - 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)