시간초과후 풀이참조
import sys
sys.setrecursionlimit(10000000)
def findroom(demand, demandedroom):
if demand not in demandedroom:
demandedroom[demand] = demand +1
return demand
else:
#return findroom(demandedroom[demand],demandedroom)이코드를 사용했을때 정확성은 맞고 효율성 틀림
temp = findroom(demandedroom[demand],demandedroom)
demandedroom[demand] = temp +1
return temp
def solution(k, room_number):
answer = []
demandedroom = dict()
for demand in room_number: # room_number배열에서 한개의 방을 일단 꺼낸다.
#변수 = findroom의결과
result = findroom(demand ,demandedroom)
#결과를 answer에 삽입
answer.append(result)
return answer
'[PS] 알고리즘문제풀이' 카테고리의 다른 글
[백준,PS,BFS][PYTHON] #2667 . 단지번호붙이기 (1) | 2020.06.17 |
---|---|
[백준,PS,BFS][PYTHON] #2468 . 안전영역 (0) | 2020.06.17 |
[백준,PS,BFS][PYTHON] #2644 . 촌수계산 (0) | 2020.06.16 |
[백준,PS,BFS][PYTHON] #1012 . 유기농배추 (0) | 2020.06.15 |
[백준,PS,BFS][PYTHON] #2178 . 미로탐색 (0) | 2020.06.15 |