https://school.programmers.co.kr/learn/courses/30/lessons/87946
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
내 풀이
1. dfs나 bfs를 통한 탐색으로 풀수도 있겠지만 배열의 순서에 따라서도 결과가 다르기 때문에 순열을 사용했다
2. 순열을 사용해서 던전을 들어가는 모든 경우의 수를 뽑았다
3. 모든 경우의 수를 탐색하여 들어갈수있으면 +1을 하고 최대 던전 수 보다 크다면 교체했다
from itertools import permutations
def solution(k, dungeons):
answer = -111
per=list(permutations(dungeons,len(dungeons)))
for i in per:
cnt=0
energy=k
for j in i:
if energy>=j[0]:
energy-=j[1]
cnt+=1
if cnt>answer:
answer=cnt
return answer
배운 점
1. 배열의 크기가 작기 때문에 완전탐색을 사용할 수 있었다
반응형
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 파이썬 문제풀이 - 섬 연결하기 (0) | 2023.05.22 |
---|---|
[프로그래머스] 파이썬 문제풀이 - 가장 먼 노드 (0) | 2023.05.19 |
[프로그래머스] 파이썬 문제풀이 - 행렬의 곱셈 (0) | 2023.05.16 |
[프로그래머스] 파이썬 문제풀이 - [카카오 인턴] 보석 쇼핑 (1) | 2023.05.14 |
[프로그래머스] 파이썬 문제풀이 - 불량 사용자 (0) | 2023.05.14 |
댓글