세졍 2024. 1. 8. 23:25

 

해시-level1

문제이해

nums배열의 길이를 N 이라고 할 때 N/2길이만큼 뽑는다

뽑은 숫자가 폰켓몬종류를 의미하므로 그때 폰켓몬 종류번호의 개수를 

return

 

 

1. 빈배열 arr를 만들어서 nums배열길이의/2를 초과하지 않을때까지

같은숫자면 배열에 들어가지 않게  arr에 추가한다

2.arr를 돌면서 다르면 cnt 를 1세어주고 같을경우는 그대로 cnt 를 1로 함

 

 

def solution(nums):
    # 중복제거하기
    set_nums = set(nums)
    # 가지고있는 종류의 수
    a = len(set_nums)
    b = len(nums) //2 # 선택할 폰켓몬 수

    return min(a,b)


nums = [3,3,3,2,2,2]
# nums의 //2 한만큼 가지는데 종류가 최대가 되는 종류개수를 출력
print(solution(nums))