반응형
이번 문제는 두개의 int 리스트를 인자로 받습니다.
첫번째 인자의 의미는 각 아이들이 만족할 수 있는 쿠키 크기입니다.
두번째는 인자의 의미는 현재 가지고 있는 쿠키입니다.
첫번째 예시를 본다면, 3명의 아이들은 각 1, 2, 3의 쿠키를 원합니다.
하지만 현재 쿠키는 1, 1 만 가지고 있어 아이 한명을 충족시킬 수 있습니다.( 그래서 output이 1입니다. )
두번째 예시를 본다면, 2명의 아이들은 각 1, 2의 쿠키를 원하며
쿠키는 1, 2, 3을 가지고 있어 두명의 아이를 모두 충족시킬 수 있습니다.( 그래서 output은 2입니다. )
저의 경우는 아래와 같이 풀었습니다.
class Solution:
def findContentChildren(self, g: List[int], s: List[int]) -> int:
g.sort()
s.sort()
res = 0
idx = 0
for greedy in g:
for j in range(idx, len(s), 1):
if greedy <= s[j]:
res += 1
idx = j+1
break
return res
아이들의 원하는 쿠키를 가지고 있는지 체크를 하며 있다면, 다음 아이로 대상을 바꾸도록 하였습니다.
단, 많은 아이를 충족하여야 하기 때문에 욕심이 적은 아이에게는 딱 맞는 쿠키를 주어야 합니다.
그렇기 때문에, 체크하기 전 두 리스트를 sorting 작업을 추가하였습니다.
감사합니다.
반응형
'Algorithm > greedy' 카테고리의 다른 글
leetcode - Maximize Sum Of Array After K Negations (0) | 2020.03.11 |
---|---|
leetcode - Walking Robot Simulation (2) | 2020.03.10 |
leetcode - Lemonade Change (0) | 2020.03.05 |
leetcode - Is Subsequence (0) | 2020.03.03 |
leetcode - Best Time to Buy and Sell Stock II (2) | 2020.03.03 |