스터디/알고리즘
폰켓몬
세졍
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))