소스 문자열의 부분집합 문자열 (subset string)을 발췌하고 이를 소팅하여 Target이 되는 문자열 s2를 소트한 값과 같은지를 비교하면 전체 소스문자열 s1이 타겟 s2의 Permutation 문자열을 포함하는지 알 수 있다.
public static bool HasStringPermutation(string s1, string s2) { // Ex : S1 = ABCDEFGHI // S2 = ECD char[] a1 = s1.ToCharArray(); char[] a2 = s2.ToCharArray(); char[] t = new char[a2.Length]; Array.Sort(a2); for (int i = 0; i < a1.Length - a2.Length + 1; i++) { for (int j = 0; j < a2.Length; j++) { t[j] = a1[i + j]; } Array.Sort(t); if (t.SequenceEqual(a2)) return true; } return false; }