Algorithm/Problems

[프로그래머스] 폰켓몬 python

공부좀하시졍 2022. 10. 26. 17:56

https://school.programmers.co.kr/learn/courses/30/lessons/1845

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

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)))