728x90
반응형
https://programmers.co.kr/learn/courses/30/lessons/87946?language=python3
최종 코드
from itertools import permutations
def solution(k, dungeons):
answer = 0
per = permutations([i for i in range(len(dungeons))])
for p in per:
print(p)
tired = k
cnt = 0
for i in p:
if dungeons[i][0] > tired: continue
tired -= dungeons[i][1]
cnt += 1
if answer < cnt: answer = cnt
return answer
풀이 과정
풀이 시간 14분
from itertools import permutations
def solution(k, dungeons):
answer = 0
#탐험할 던전 순서의 모든 경우의 수 구하기
per = permutations([i for i in range(len(dungeons))])
for p in per:
#현재 피로도
tired = k
#탐험한 던전 수
cnt = 0
#순서대로 던전 탐험하기
for i in p:
#현재 피로도가 최소 필요도보다 적은 경우, 던전을 탐험하지 못한다
if dungeons[i][0] > tired: continue
#던전을 탐험한다
tired -= dungeons[i][1]
cnt += 1
#탐험한 던전 수가 answer보다 많으면, answer을 갱신한다
if answer < cnt: answer = cnt
return answer
#시간복잡도 = O(1), 공간복잡도 = O(1)
728x90
반응형
'코테 노트 > 프로그래머스' 카테고리의 다른 글
Level 2 교점에 별 만들기 Python 3 (0) | 2022.03.11 |
---|---|
Level 2 2개 이하로 다른 비트 Python 3 (0) | 2022.03.09 |
Level 2 배달 Python 3 (0) | 2022.03.08 |
Level 2 괄호 회전하기 Python 3 (0) | 2022.03.08 |
Level 2 게임 맵 최단거리 Python 3 (0) | 2022.03.07 |