-
Leetcode 2305. Fair Distribution of Cookies개발/Leetcode 2023. 7. 1. 09:48
https://leetcode.com/problems/fair-distribution-of-cookies/description/
Fair Distribution of Cookies - LeetCode
Can you solve this real interview question? Fair Distribution of Cookies - You are given an integer array cookies, where cookies[i] denotes the number of cookies in the ith bag. You are also given an integer k that denotes the number of children to distrib
leetcode.com
문제
정수로 이루어진 배열 cookies가 주어진다. 이 배열의 각 요소는 각 주머니에 담긴 cookie의 개수를 나타낸다. 또한 정수 k가 함께 주어지는데 쿠키를 나누어 받을 사람의 수를 의미한다. 각 주머니에 담긴 쿠키들을 낱개로 아이들에게 줄 수 없으며 묶음단위로 아이들에게 줄 수 있다.
이때 가장 불공정한 분배란 모든 쿠키들을 한명의 아이에게 주는 것을 의미한다.
이러한 정보를 바탕으로 불공정한 배분이 최소가 될 수 있는 분배를 찾아 그 분배의 최대값을 반환하라
코드
class Solution:def distributeCookies(self, cookies: list[int], k: int) -> int:self.answer = []m = max(cookies)self.substition = m * k
if len(cookies) == k:return m
def r(distribute, n):if n >= len(cookies):m = max(distribute)substition = sum(map(lambda x: m - x, distribute))if self.substition > substition:self.substition = substitionself.answer = distribute[:]return
for i in range(k):distribute[i] += cookies[n]r(distribute, n + 1)distribute[i] -= cookies[n]
r([0] * k, 0)# print(self.answer)return max(self.answer)
쿠키의 개수와 아이들의 수가 같으면 단순 max값을 리턴해주어 시간단축할 수 있었음.
'개발 > Leetcode' 카테고리의 다른 글
Leetcode 22. Generate Parentheses (0) 2023.07.01 Leetcode 2744. Find Maximum Number of String Pairs (0) 2023.07.01 Leetcode 1970. Last Day Where You Can Still Cross (0) 2023.06.30 Leetcode 1514. Path with Maximum Probability (0) 2023.06.28 Leetcode 373. Find K Pairs with Smallest Sums (0) 2023.06.27