[풀이 - 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;
}