https://programmers.co.kr/learn/courses/30/lessons/60062
코딩테스트 연습 - 외벽 점검
레스토랑을 운영하고 있는 "스카피"는 레스토랑 내부가 너무 낡아 친구들과 함께 직접 리모델링 하기로 했습니다. 레스토랑이 있는 곳은 스노우타운으로 매우 추운 지역이어서 내부 공사를 하
programmers.co.kr
set과 product를 이용해서 풀려고 했는데 시간초과가 나서
다른 풀이를 이용했다
def solution(n,weak,dist):
count = 0
repair_list = [()]
dist.sort(reverse = True)
for distance in dist:
repairs = []
count +=1
for i,st in enumerate(weak):
start = st
ends = weak[i:] + [n + a for a in weak[:i]]
move = [end % n for end in ends if end - start <= distance]
repairs.append(set(move))
new = set()
for repair in repairs:
for re in repair_list:
update = repair | set(re)
if len(set(weak) - update) == 0:
return count
new.add(tuple(update))
repair_list = new
return -1
'Programming > Programmers' 카테고리의 다른 글
[프로그래머스] 블록 이동하기 (Python) (0) | 2021.11.18 |
---|---|
[프로그래머스] 매칭 점수 (Python) (0) | 2021.11.18 |
[프로그래머스] 모두 0으로 만들기 (Python) (0) | 2021.11.17 |
[프로그래머스] 입양 시각 구하기(2) (MySQL) (0) | 2021.11.17 |
[프로그래머스] 우유와 요거트가 담긴 장바구니 (MySQL) (0) | 2021.11.16 |
댓글