반응형
포인트
1. 사탕을 어떻게 나누어야 하는가를 고민을 해보자
사탕을 나누는 방법은 종류가 상한선 보다 적으면 종류를 반환을 하고 상한선보다 같거나 크다면 상한선을 반환을 한다.
🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다.
c++/cpp
#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
int distributeCandies(vector<int>& candyType) {
unordered_set<int> set1(candyType.begin(), candyType.end());
return min(set1.size(), candyType.size()/2);
}
};
python
from collections import Counter
class Solution:
def distributeCandies(self, candyType: List[int]) -> int:
# dict1 = {ele: candyType.count(ele) for ele in candyType}
# dict1 = dict()
# for ele in candyType:
# dict1[ele] = dict1.get(ele, 0) + 1
# dict1 = Counter(candyType)
# limit = len(candyType)//2
# return limit if len(dict1)>= limit else len(dict1)
# distinctTypes = set(candyType)
# return min(len(distinctTypes), int(len(candyType)/2))
distinctTypes = set(candyType)
return min(len(distinctTypes), len(candyType)//2)
반응형
'알고리즘' 카테고리의 다른 글
[알고리즘] Permutations (0) | 2021.03.04 |
---|---|
[알고리즘] missing Number (0) | 2021.03.04 |
[알고리즘] 연구소 시리즈 (연구소) (0) | 2021.03.02 |
[알고리즘] 간단한 이진탐색 구현 (0) | 2021.03.01 |
[알고리즘] Container With Most Water (0) | 2021.02.18 |
댓글