https://school.programmers.co.kr/learn/courses/30/lessons/1845
import numpy as np
def solution(nums):
num = np.unique(nums)
if (len(nums)/2) <= len(num):
answer = len(nums)/2
elif (len(nums)/2) > len(num):
answer = len(num)
return answer
엉망진창 내가 짠 코드😥
numpy 모듈 중 unique() 함수를 사용하여 주어진 배열에서 고유값만 리턴해주었다. 이때, 내가 데려갈 수 있는 폰켓몬 수가 더 크다면 고유값의 수를 리턴해주고 고유한 폰켓몬의 종류 수가 더 많다면 내가 데려갈 수 있는 폰켓몬 수를 리턴해주었다. 하드코딩이라 생각했는데.. 케이스를 통과해서 읭? 싶었다..🙄
*set 함수*
set함수는 수학에서 집합과 비슷하다. set함수의 가장 중요한 특징 중 하나는 중복을 제거해 주는 것이다!
ex = [1,1,2,3,4,2]
print(set(ex)) // {1,2,3,4}
다른 사람 풀이를 보았는데... 역시 대단한 사람은 많다 👍
def solution(nums):
return min(len(nums)/2, len(set(nums)))
'Algorithm > Problems' 카테고리의 다른 글
[프로그래머스] 위장 파이썬 (0) | 2022.11.02 |
---|---|
[프로그래머스] 전화번호 목록 Python (0) | 2022.10.28 |
[프로그래머스] 완주하지 못한 선수 (0) | 2022.10.26 |
[프로그래머스] K번째 수 (0) | 2022.08.21 |
[프로그래머스] 체육복 (탐욕법 Greedy) (0) | 2022.08.16 |