이번 문제는 피로도 문제이다.
던전을 탐험하기 위해서는 피로도가 필요한데, 각 던전마다 최소 필요 피로도와 소모 피로도 값이 존재한다.
즉 최소 필요 소모도를 만족해야지만 해당 던전에 입장 가능하며, 던전 탐험을 마치게 되면 소모 피로도 만큼 현재 피로도가 감소한다.
서로 다른 던전의 ['최소 필요 피로도','소모 피로도']가 배열로 주어졌을 때, 유저가 탐험할 수 있는 최대 던전의 수를 return 해야 한다.
설명이 굉장히 길지만, 단순하게 생각해서 가장 많이 탐험 할 수 있는 조건에 맞춰서 피로도를 사용하여야 한다.
위 입출력 예에서 살펴보면, 만약 피로도 소모가 가장 낮은 3번째 [30,10] 던전을 돌게 되면 피로도가 70이 된다.
이 때, 첫번째 던전은 필요 피로도 제한으로 인해 입장할 수 없다.
던전 탐색을 위해 permutations()를 이용하여 순서대로 조합된 순열 comb 를 만들고, 해당 comb를 돌면서 모든 값을 탐색하였다.
그리고 만약 소모된 피로도에 의해 다음 던전에 진입할 수 없다면, 바로 break로 탐색을 종료하고, 집계된 cnt와 answer을 비교해 더 큰 값으로 갱신시켜 주었다.
딱히 던전이 8개라 크게 효율성 문제에도 지장이 없고, 크게 복잡하지 않은 문제였다.
'프로그래머스 퀴즈(Python) > level 2' 카테고리의 다른 글
23.02.09 파이썬 코딩 퀴즈#144 주차 요금 계산(프로그래머스 스쿨) (0) | 2023.02.09 |
---|---|
23.02.09 파이썬 코딩 퀴즈#143 K진수에서 소수 개수 구하기(프로그래머스 스쿨) (0) | 2023.02.09 |
23.02.08 파이썬 코딩 퀴즈#141 n^2 배열 자르기(프로그래머스 스쿨) (0) | 2023.02.08 |
23.02.08 파이썬 코딩 퀴즈#140 교점에 별 만들기(프로그래머스 스쿨) (0) | 2023.02.08 |
23.02.08 파이썬 코딩 퀴즈#139 전력망을 둘로 나누기(프로그래머스 스쿨) (0) | 2023.02.08 |