코딩 테스트/LeetCode
242. Valid Anagram (유효한 애너그램)
포카리tea
2024. 9. 25. 14:57
두 개의 문자열 s와 t가 주어졌을 때, t가 s의 애너그램일 경우 true를 그렇지 못할 경우 false를 반환합니다.
예시 1:
입력: s = "anagram", t = "nagaram"
출력: true
예시 2:
입력: s = "rat", t = "car"
출력: false
조건:
- 1 <= s.length, t.length <= 5 * 10^4
- s와 t는 소문자 영어로 구성됩니다.
정답:
public class Solution {
public bool IsAnagram(string s, string t) {
if (s.Length != t.Length)
{
return false;
}
while (s != string.Empty)
{
char split = s[0];
s = s.Replace(split.ToString(), "");
t = t.Replace(split.ToString(), "");
if (s.Length != t.Length)
{
return false;
}
}
return true;
}
}
해설: s와 t를 동일한 문자 split을 제거했을 때 길이가 동일하다면 해당 문자는 확인이 된 것이므로 해당 작업을 반복하여 모두 제거된다면 true를 반환하고 길이가 동일하지 않다면 false를 반환합니다.
만약 처음부터 길이가 맞지 않는 경우는 애너그램이 아니므로 false를 반환합니다.