알고리즘 꾸준히 풀어보려 한다! leetcode의 rank easy부터 풀고 있는데, 너무 쉬워서 포스팅하기 좀 그렇지만.. 그래도 일단 하는걸로 🤨
Given two strings s and t , write a function to determine if t is an anagram of s.
Example 1: Input: s = "anagram", t = "nagaram"
Output: true
Example 2: Input: s = "rat", t = "car"
Output: false
Note:
You may assume the string contains only lowercase alphabets.
두 문자열이 anagram되는 문자열인지 비교하는 문제다!
각 문자열의 알파벳과 알파벳이 있는 갯수를 키:밸류로 만들어
그 딕셔너리 값을 비교해서 일치 여부를 리턴하게 만들었다.
class Solution {
func isAnagram(_ s: String, _ t: String) -> Bool {
if s.count != t.count {
return false
}
if countElement(s) == countElement(t) {
return true
}
return false
}
func countElement(_ str: String) -> Dictionary<String, Int> {
var strDic: [String : Int] = [:]
for i in str {
let key = String(i)
if let value = strDic[key] {
strDic[key] = value + 1
}else {
strDic[key] = 1
}
}
return strDic
}
}