프로그래머스 Lv4 호텔 방배정 Kotlin

JIHOON·2022년 4월 10일
0

문제

설명

  • 처음에 셋에 방 번호들을 저장해놓고 이미 방이 차있다면 +1씩 해서 다음 방을 탐색해보았으나 효율성 0점으로 78점 맞음

  • 방법이 잘 떠오르지 않아 힌트를 활용해서 재귀로 풀었다.

코드

import java.util.*
class Solution {
    var map = HashMap<Long,Long>()
    fun solution(k: Long, room_number: LongArray): LongArray {
        var list = ArrayList<Long>()
        for(t in room_number){
            list.add(findNextRoom(t))
        }
        return list.toLongArray()
    }

    private fun findNextRoom(t: Long): Long {
        if(!map.contains(t)){
            map[t] = t+1
            return t
        }
        var next = map[t]
        var empty = findNextRoom(next!!)
        map[t] = empty
        return empty
    }
}
profile
https://github.com/Userz1-redd

0개의 댓글