Post

leetcode(리트코드)7월06일 challenge1338-Reduce Array Size to The Half(python)

leetcode(리트코드)7월06일 challenge1338-Reduce Array Size to The Half(python)

leetcode July 06일 - Reduce Array Size to The Half 문제입니다.

1. 문제

https://leetcode.com/problems/reduce-array-size-to-the-half/


2. Input , Output


3. 분류 및 난이도

Medium 난이도입니다.
7월 06일자 챌린지 문제입니다.


4. 문제 해석

  • arr가 주어집니다. 배열의 요소를 고릅니다.
  • 고른 뒤 배열에서 해당 요소값들을 제거하였을 때, arr의 size가 최대한 절반이 되는 최소한의 배열의 요소 개수를 구해서 리턴합니다.

5. code

python

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Solution:
    def minSetSize(self, arr: List[int]) -> int:
        dic = {}
        temp = []
        size = len(arr)
        for i in range(size):
            if arr[i] not in dic : 
                dic[arr[i]]=1
            else: 
                dic[arr[i]]+=1
        for num in dic : 
            temp.append(dic[num])
        temp.sort(reverse = True)
        res = 0 
        sumd = 0
        for i in range(len(temp)):
            if sumd < size//2 : 
                sumd += temp[i]
                res+=1
            else : 
                return res
        return 1

6. 결과 및 후기, 개선점

필요시 c++로 풀어드립니다.

This post is licensed under CC BY 4.0 by the author.