coding test - python/Programmers

Programmers / 폰켓몬 / Python

sillon 2022. 4. 7. 18:07
728x90
반응형

 

*문제 출처는 프로그래머스에 있습니다.

문제 제목: 폰켓몬

문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/1845


나의 풀이

def solution(nums):
    select = len(nums) //2
    set_list = set(nums)
    if len(set_list) > select:
        return select
    else:
        return len(set_list)

출력값으로 요구하는 것이 결국 "선택할 수 있는 폰켓몬 종류 개수의 최댓값 하나만 return 하면 됩니다." 라는 것이므로

선택할 수 있는 포켓몬의 수가 고를 수 있는 포켓몬 종류(set 함수로 중복 제거) 보다 작으면

선택할 수 있는 포켓몬 수를 리턴하고

그게 아니면 포켓몬 종류의 수를 리턴하면 되는 간단한 문제이다.

 

문제가 길어서 그렇지 쉽다.

 

다른 풀이

def solution(ls):
    return min(len(ls)/2, len(set(ls)))

두 수 중에 최솟값을 리턴한다는 코드이므로 내가 한 풀이를 간단하게 한것과 같다.


 

 

728x90
반응형