LeetCode/LeetCode75

[LeetCode 75] Easy - 1431. Kids With the Greatest Number of Candies

hyunkookim 2024. 11. 11. 16:10

 

class Solution:
    def kidsWithCandies(self, candies: List[int], extraCandies: int) -> List[bool]:
        ans = []
        for candy in candies:
            now = candy + extraCandies

            b = True
            for candy2 in candies:
                if now < candy2:
                    b = False
            ans.append(b)
        return ans

1431. Kids With the Greatest Number of Candies

 

There are n kids with candies. You are given an integer array candies, where each candies[i] represents the number of candies the ith kid has, and an integer extraCandies, denoting the number of extra candies that you have.

Return a boolean array result of length n, where result[i] is true if, after giving the ith kid all the extraCandies, they will have the greatest number of candies among all the kids, or false otherwise.

Note that multiple kids can have the greatest number of candies.

 

Example 1:

Input: candies = [2,3,5,1,3], extraCandies = 3
Output: [true,true,true,false,true] 
Explanation: If you give all extraCandies to:
- Kid 1, they will have 2 + 3 = 5 candies, which is the greatest among the kids.
- Kid 2, they will have 3 + 3 = 6 candies, which is the greatest among the kids.
- Kid 3, they will have 5 + 3 = 8 candies, which is the greatest among the kids.
- Kid 4, they will have 1 + 3 = 4 candies, which is not the greatest among the kids.
- Kid 5, they will have 3 + 3 = 6 candies, which is the greatest among the kids.

Example 2:

Input: candies = [4,2,1,1,2], extraCandies = 1
Output: [true,false,false,false,false] 
Explanation: There is only 1 extra candy.
Kid 1 will always have the greatest number of candies, even if a different kid is given the extra candy.

Example 3:

Input: candies = [12,1,12], extraCandies = 10
Output: [true,false,true]

 

Constraints:

  • n == candies.length
  • 2 <= n <= 100
  • 1 <= candies[i] <= 100
  • 1 <= extraCandies <= 50

 

문제 풀이

 

이 문제는 간단히 말해서, 아이들이 가진 사탕의 수를 비교하는 문제입니다. 각 아이에게 추가 사탕을 모두 줬을 때, 그 아이가 최고로 많은 사탕을 가진 상태가 되는지를 판단하는 것입니다.


문제의 조건

  • 아이들의 사탕 개수는 배열 candies로 주어집니다. 예를 들어, candies = [2, 3, 5, 1, 3]는 첫 번째 아이가 2개, 두 번째 아이가 3개, 세 번째 아이가 5개의 사탕을 가지고 있다는 뜻입니다.
  • 추가 사탕의 개수 extraCandies가 주어지며, 특정 아이에게 추가로 줄 수 있습니다.
  • 결과는 각 아이에게 extraCandies를 모두 줬을 때, 그 아이가 다른 아이들보다 많은(혹은 같은) 사탕을 가질 수 있는지를 True/False로 나타낸 배열입니다.

 

https://youtu.be/kZdh5AuGyJQ?si=9gNXqN_mWMDMxZLn