두개의 문자열이 주어지고 문자열이 같은 문자로 이루어져있는지 확인 하는 문제.
문자열을 sort한뒤 다시 문자열로 변경 후 같은지 다른지 확인
class Solution {
public boolean isAnagram(String s, String t) {
char[] first = s.toCharArray();
char[] second = t.toCharArray();
Arrays.sort(first);
Arrays.sort(second);
String s1 = String.valueOf(first);
String s2 = String.valueOf(second);
if(s1.equals(s2)) {
return true;
}else{
return false;
}
}
}
class Solution {
public boolean isAnagram(String s, String t) {
if(s.length()!=t.length()){
return false;
}
int[] sAsciiArr = new int[128];
for(char c : s.toCharArray()){
sAsciiArr[c] ++;
}
for(char c: t.toCharArray()){
if(sAsciiArr[c]==0){
return false;
}
sAsciiArr[c] --;
}
return true;
}
}
이 코드가 가장 빠른 코드 인거 같았다. 길이가 안맞았을때는 무조건 다른 문자열이기 때문에 바로 예외처리를 해준거 같고, 문자열을 돌면서 같은 문자열인지 아닌지 증감을 통해서 확인해줬다.