[leetcode] 242. Valid Anagram

delma·2020년 2월 28일
0

Algorithms

목록 보기
1/12
post-thumbnail

알고리즘 꾸준히 풀어보려 한다! leetcode의 rank easy부터 풀고 있는데, 너무 쉬워서 포스팅하기 좀 그렇지만.. 그래도 일단 하는걸로 🤨


Problems

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되는 문자열인지 비교하는 문제다!


Solving


각 문자열의 알파벳과 알파벳이 있는 갯수를 키:밸류로 만들어
그 딕셔너리 값을 비교해서 일치 여부를 리턴하게 만들었다.



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
    }
}
profile
🌐Code makes world better

0개의 댓글