알고리즘/해시
[프로그래머스] 폰켓몬 - 파이썬(python)
아뵹젼
2022. 9. 1. 10:38
나의 풀이
def solution(nums):
return min(len(nums)/2, len(set(nums)))
set 을 이용해서 중복된 것들을 지우는 것이 포인트이다.
처음에는 너무 어렵게 생각해서, hash dictionary 를 만들고 난리를 쳤는데....
중복되지 않은 종류의 개수를 모두 세었을 때 전체 포켓몬 숫자 / 2 보다 작다면, 해당 종류의 개수가 정답이 될 것이다.
반면, 중복되지 않은 종류의 개수가 포켓몬 숫자 / 2보다 많다면, 종류가 다르더라도 다 데려갈 수 없으므로 포켓몬 숫자 / 2가 정답이 될 것이다.