🐌 C# - LINQ
\npublic class Solution\n{\n    public string[] ReorderLogFiles(string[] logs)\n    {\n        return logs.Where(IsLetterLog).OrderBy(GetContent).ThenBy(GetIden
```\npublic class Solution\n{\n    public string[] ReorderLogFiles(string[] logs)\n    {\n        return logs.Where(IsLetterLog).OrderBy(GetContent).ThenBy(GetIdentifer).Concat(logs.Where(IsDigitLog)).ToArray();\n\n        bool IsLetterLog(string log)\n        {\n            int indexOfSpace = log.IndexOf(\' \');\n            char characterAfterSpace = log[indexOfSpace + 1];\n            return char.IsLetter(characterAfterSpace);\n        }\n\n        bool IsDigitLog(string log)\n        {\n            int indexOfSpace = log.IndexOf(\' \');\n            char characterAfterSpace = log[indexOfSpace + 1];\n            return char.IsDigit(characterAfterSpace);\n        }\n\n        string GetContent(string log)\n        {\n            int indexOfSpace = log.IndexOf(\' \');\n            return log[(indexOfSpace + 1)..];\n        }\n\n        string GetIdentifer(string log)\n        {\n            int indexOfSpace = log.IndexOf(\' \');\n            return log[..indexOfSpace];\n        }\n    }\n}\n```\n\nShorter version\n```\npublic class Solution\n{\n    public string[] ReorderLogFiles(string[] logs)\n        => logs.Where(IsLetterLog).OrderBy(Content).ThenBy(Identifer).Concat(logs.Where(IsDigitLog)).ToArray();\n\n    private static bool IsLetterLog(string log) => char.IsLetter(log[log.IndexOf(\' \') + 1]);\n    private static bool IsDigitLog(string log) => char.IsDigit(log[log.IndexOf(\' \') + 1]);\n    private static string Content(string log) => log[(log.IndexOf(\' \') + 1)..];\n    private static string Identifer(string log) => log[..log.IndexOf(\' \')];\n}\n```\n\ntl;dr\n```\npublic class Solution\n{\n    public string[] ReorderLogFiles(string[] logs)\n        => logs\n            .Where(log => char.IsLetter(log[log.IndexOf(\' \') + 1]))\n            .OrderBy(log => log[(log.IndexOf(\' \') + 1)..])\n            .ThenBy(log => log[..log.IndexOf(\' \')])\n            .Concat(logs.Where(log => char.IsDigit(log[log.IndexOf(\' \') + 1])))\n            .ToArray();\n}\n```
['C#']