import sys
sys.setrecursionlimit(10000)
def find(room_number, assignment):
if room_number not in assignment :
assignment[room_number] = room_number + 1
return room_number
empty_room = find(assignment[room_number], assignment)
assignment[room_number] = empty_room + 1
return empty_room
def solution(k, room_number):
answer = []
assignment = {}
for request_room_number in room_number:
num = find(request_room_number, assignment)
answer.append(num)
return answer
print(solution(10,[1,1,1,1,1,1,2,7,7]))
재귀함수로 푸는 솔루션 참고해서 푼 문제.
재귀함수 공부하기 너무 좋은 문제인 것 같다. 주중에 다시 한번 풀어보면서 감을 익혀야겠다.
'컴퓨터 > 코테' 카테고리의 다른 글
프로그래머스 - 징검다리 (바위 부수기) (0) | 2021.08.12 |
---|---|
릿코드 5 - Longest Palindromic Substring (0) | 2021.08.12 |
프로그래머스 징검다리 건너기 (0) | 2021.08.12 |
프로그래머스 - 디스크 컨트롤러[heap] (0) | 2021.08.12 |
프로그래머스5 - 방의 개수 (0) | 2021.08.11 |