Problem From.
https://leetcode.com/problems/unique-number-of-occurrences/
오늘 문제는 주어진 리스트에서 각각의 숫자에 대해, 갯수가 같으면 false 모두 갯수가 다르면 true 를 반환하는 문제였다.
Map 을 사용하여 key 에 각각의 숫자, value 에 각각의 갯수를 넣은뒤
마지막에 map 의 values 와 unique 한 map 의 value 의 크기가 같으면 true 다르면 false 를 반환해주었다.
class Solution {
fun uniqueOccurrences(arr: IntArray): Boolean {
val map = mutableMapOf<Int, Int>()
arr.forEach { num ->
map.put(num, map.getOrDefault(num, 0) + 1)
}
return map.values.size == map.values.toSet().size
}
}
위 풀이의 시간복잡도는 O(n) 이 된다.