Daily LeetCode Challenge - 2336. Smallest Number in Infinite Set

Min Young Kim·2023년 4월 25일
0

algorithm

목록 보기
128/198

Problem From.

https://leetcode.com/problems/smallest-number-in-infinite-set/

오늘 문제는 가장 작은 원소만을 반환하는 SmalllestInfiniteSet 을 구현하는 문제였다.

문제는 간단하게 풀 수 있었는데, 먼저 문제의 제한 사항에 1000 개까지의 콜이 들어온다고 하였으니 1~1000까지의 수를 넣은 set 을 선언해두고, popSmallest 함수에는 set 의 min 원소를 반환하도록 만들어두고 add 함수에서는 set 에 add 해주는 방식으로 구현하였다. (set 은 내부적으로 알아서 중복 제거를 한다.)

class SmallestInfiniteSet() {

    val hashSet = hashSetOf<Int>()
    
    init {
        for(i in 1..1000) {
            hashSet.add(i)
        }
    }
    
    fun popSmallest(): Int {
        val temp = hashSet.min()!!
        hashSet.remove(temp)
        return temp
    }

    fun addBack(num: Int) {
        hashSet.add(num)
    }

}

/**
 * Your SmallestInfiniteSet object will be instantiated and called as such:
 * var obj = SmallestInfiniteSet()
 * var param_1 = obj.popSmallest()
 * obj.addBack(num)
 */
profile
길을 찾는 개발자

0개의 댓글