[Python][프로그래머스][Level4] 호텔방 배정

[Python][프로그래머스][Level4] 호텔방 배정

코드

import sys
sys.setrecursionlimit(10**9)

def recur(num, room):
    room[num]=recur(room[num],room)+1 if num in room else num+1
    return room[num]-1

def solution(k, room_number):
    answer=[]
    room=dict()
    for num in room_number:
        answer.append(recur(num,room))
    return answer

재귀로 풀었다.

room 딕셔너리는 num에 해당하는 방을 요청했을 때, 주는 방이 된다.

만약 room[3]=4 이고 room[4]=6 이라 하면 다음에 num=3이라면 제공하는 방은 6이 되야한다.

따라서 num=3일 때, 6을 반환하고 room[num]=room[4]+1이 되고 room[4]=7이 된다.

그런 식으로 room[num] 을 갱신하는 방식으로 재귀를 반복하면서 answer 배열에 추가한다.

Discussion and feedback