[HackerRank/C++] Big Sorting
2023. 2. 8. 09:04ㆍ코딩테스트 해커랭크/Algorithms -Easy
문자열로 이루어진 숫자 배열 unsorted를 받는다
해당 문자열의 배열을 오름차순으로 정렬해 return 한다
bool StirngSort(string a, string b)
{
if (a.length() < b.length())
return true;
else if (a.length() > b.length())
return false;
else
{
for (int i = 0; i < a.length(); ++i)
{
if (a[i] < b[i])
return true;
else if (a[i] > b[i])
return false;
}
}
return false;
}
vector<string> bigSorting(vector<string> unsorted)
{
sort(unsorted.begin(), unsorted.end(), StirngSort);
return unsorted;
}
인자로 받은 unsorted를 sort 함수를 이용해 정렬한다
string type 자료형이기 때문에 직접 함수를 정의해서 정렬 방법을 지정해 주도록 한다
첫번째로 문자열의 길이를 비교해, 문자열의 길이가 더 크다면 더 큰 수이므로 a < b라면 true, a > b라면 false를 return 한다
만약 둘다 해당하지 않는다면 자릿수가 같은 것이므로 다음 비교로 넘어간다
두번째로 문자열의 길이가 같으니 for문으로 0번 index부터 a[i]와 b[i]를 비교해, a[i] < b[i]라면 true, a[i] > b[i]라면 false를 반환한다
모든 문자열을 비교해 전부 같다면 같은 수이므로 그냥 false를 반환한다
sort 함수가 끝났을때 unsorted는 정렬이 되어있을 것이므로 그대로 return 한다
'코딩테스트 해커랭크 > Algorithms -Easy' 카테고리의 다른 글
| [HackerRank/C++] CamelCase (0) | 2023.02.08 |
|---|---|
| [HackerRank/C++] Super Reduced String (0) | 2023.02.08 |
| [HackerRank/C++] Strange Counter (0) | 2023.02.08 |
| [HackerRank/C++] Happy Ladybugs (0) | 2023.02.08 |
| [HackerRank/C++] Manasa and Stones (0) | 2023.02.08 |