반응형
programmers.co.kr/learn/courses/30/lessons/64063
코딩테스트 연습 - 호텔 방 배정
programmers.co.kr
import collections
def solution(k, room_number):
answer = []
room_dict = collections.defaultdict(int) # dictionary에 값이 존재하는지 따로 확인 x
def get_room(room): # 배정 될 방을 찾아주는 함수
visited_room = [room] # 배정 될 방을 찾기까지 탐색한 이미 배정 된 방들
while room_dict[room] != 0:
room = room_dict[room]
visited_room.append(room)
for visited in visited_room: # 다음 탐색시 빠르게 빈 방을 찾기 위해 탐색한 방들을 모두 갱신
room_dict[visited] = room + 1
return room
for room in room_number:
result = get_room(room)
answer.append(result)
return answer
→ 효율성 테스트를 통과하기 위해 get_room시 배정되어 있는 방들을 일괄 갱신해줘야 했다.
반응형