Written by
최태열
on
on
[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