유니온 파인드를 새롭게 변형한 문제. 재귀적으로 접근했기 때문에 파이썬에서의 재귀 리미트를 설정해야 한다.
import sys
def solution(k, room_number):
sys.setrecursionlimit(10000000)
rooms = {}
def find(node):
if node not in rooms:
rooms[node] = node + 1
return node
else:
room = find(rooms[node])
rooms[node] = room + 1
return room
results = [find(number) for number in room_number]
return results