Coding - Algo/Java
[SWEA] 3816:아나그램(Java 자바)
jainn
2022. 3. 17. 23:17
728x90
풀이 및 소스코드
class UserSolution {
public static int FindAnagram(int L1, String S1, int L2, String S2) {
int res = 0;
char[] arr1 = S1.toLowerCase().toCharArray();
char[] arr2 = S2.toLowerCase().toCharArray();
// 소문자로 통일시켜주기.
int[] a1Alph = new int[26];
int n = arr1.length;
int n2 = arr2.length;
for(int i=0;i<n;i++) {
a1Alph[arr1[i]-'a']++;
}
for (int i = 0; i <= n2 - n; i++) {
char[] tmp = Arrays.copyOfRange(arr2, i, i + n);
int[] a2Alph = new int[26];
for(int j=0;j<n;j++) {
a2Alph[tmp[j]-'a']++;
}
boolean c = true;
for (int j = 0; j < 26; j++) {
if (a1Alph[j] != a2Alph[j]) {
c = false;
break;
}
}
if (c)
res++;
}
return res;
}
}
반응형