본문 바로가기
728x90

순열3

[PG/Python] 피로도 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/87946 코딩테스트 연습 - 피로도 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던 programmers.co.kr 📌 문제 접근 방법 던전의 개수가 8개 이하이므로 완전탐색을 사용해도 되겠다고 판단하였다. permutations를 사용하여 던전을 들어가는 순서의 조합을 모두 만든 후, 각각의 조합을 차례대로 순회하며 입장할 수 있는 던전의 개수를 세었다. 개수를 다 세고 answer를 최대값으로 갱신하고, 반복문이 끝난 뒤 answer에 저장된 값을 반환하였.. 2021. 12. 22.
[SWEA/Python] 1865. 동철이의 일 분배 📌 문제 https://swexpertacademy.com/main/main.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 📌 문제 접근 방법 재귀로 순열을 구현해서 경우의 수를 찾아주고 확률을 곱해준다. success리스트에 들어있는 확률은 전부 1이하 이므로 total이 max_success보다 작다면, 더 이상 커질 수 없다고 판단하여 리턴시켜서 가지치를 해줬다. 📌 코드 import sys sys.stdin = open('input.txt') def permutation(total): global staff, max_success if total 2021. 10. 7.
[SWEA/Python] 5209. 최소 생산 비용 📌 문제 https://swexpertacademy.com/main/main.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 📌 문제 접근 방법 순열이 필요할 것 같아서 itrertools에서 permutations를 import했더니 시간초과! 재귀를 사용해서 순열을 직접 구현해줬더니 통과했다. 비용을 더한 값이 이미 최소 값보다 커졌다면 return을 해줘서 가지치기를 해줬다. 📌 코드 import sys sys.stdin = open('input.txt') def permutation(total): global factory, min_cost if total > min_cost: return if l.. 2021. 10. 7.
728x90