그냥 해시맵에 모든문자 다더하고 배열크기랑 모든문자갯수가 같으면 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
}
}
'알고리즘' 카테고리의 다른 글
릿코드 455. Assign Cookies 코틀린 (1) | 2024.01.01 |
---|---|
릿코드 1624. Largest Substring Between Two Equal Characters 코틀린 (0) | 2023.12.31 |
릿코드 1578. Minimum Time to Make Rope Colorful 코틀린 (1) | 2023.12.27 |
릿코드 91. Decode Ways 코틀린 (0) | 2023.12.25 |
릿코드 1758. Minimum Changes To Make Alternating Binary String 코틀린 (0) | 2023.12.24 |