[풀이 - Gemstones] : <Easy / 93.29%>
더보기
int gemstones(vector<string> arr)
{
int count = arr.size();
vector<map<int, int>> mv;
//
for(int i = 0; i < count; ++i)
{
map<int, int> m;
for(int j = 0 ; j < arr[i].length(); ++j)
{
string s = arr[i];
int value = s[j] - 'a';
m[value]++;
}
mv.push_back(m);
}
//
int result = 0;
for(int j = 0; j < 26; ++j)
{
bool b = true;
for(int i = 0; i < mv.size(); ++i)
{
b *= mv[i][j];
}
if(b == true)
++result;
}
//
return result;
}
[풀이 - Beautiful Binary String] : <Easy / 94.77%>
더보기
int beautifulBinaryString(string b)
{
int result = 0;
//
while(true)
{
int idx = b.find("010");
//
if(idx == -1)
break;
else
{
b[idx+2] = '1';
++result;
}
}
//
return result;
}
[풀이 - Closest Numbers] : <Easy / 88.25%>
더보기
vector<int> closestNumbers(vector<int> arr)
{
vector<int> result;
//
sort(arr.begin(), arr.end());
//
int absDifMin = INT_MAX;
for(int i = 1; i < arr.size(); ++i)
{
int absDif = abs( arr[i] - arr[i-1] );
if(absDif < absDifMin)
absDifMin = absDif;
}
//
for(int i = 1; i < arr.size(); ++i)
{
int absDif = abs( arr[i] - arr[i-1] );
if(absDif == absDifMin)
{
result.push_back(arr[i-1]);
result.push_back(arr[i]);
}
}
//
return result;
}
[풀이 - The Love-Letter Mystery] : <Easy / 96.61%>
더보기
int theLoveLetterMystery(string s)
{
int result = 0;
//
int l = s.length();
//
int i = 0;
while(i < l / 2)
{
result += abs(s[i] - s[l-1-i]);
++i;
}
//
return result;
}