알고리즘

릿코드 1897. Redistribute Characters to Make All Strings Equal 코틀린

rkrkrr0101 2023. 12. 30. 18:16

그냥 해시맵에 모든문자 다더하고 배열크기랑 모든문자갯수가 같으면 true 아니면 false


엣지케이스
배열이 1개 ->1개일경우 통과
모든문자갯수가 같지않지만,배수라서 처리가능->사이즈랑 문자갯수 mod쳐서 0이면 통과 아니면 false

정답

 

class Solution {
    fun makeEqual(words: Array<String>): Boolean {
        val charHashMap = hashMapOf<Char, Int>()
        val wordsSize=words.size

        if (wordsSize==1){
            return true
        }

        for (word in words){
            for (wordChar in word){
                charHashMap[wordChar]=charHashMap[wordChar]?.plus(1) ?: 1
            }
        }
        
        for ((key,value) in charHashMap){
            if ((value % wordsSize)!=0){
                return false
            }

        }

        return true
    }
}