알고리즘/프로그래머스

[Level1] 폰켓몬

야챔 2021. 4. 12. 20:31

programmers.co.kr/learn/courses/30/lessons/1845

 

코딩테스트 연습 - 폰켓몬

당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.

programmers.co.kr

 

 

내 풀이

def solution(nums):
    answer = len(nums) / 2
    nums = list(set(nums))

    if answer < len(nums):
        return answer
    return len(nums)

 

 

중복을 제거하여 남은 포켓몬의 사이즈가 가져갈 수 있는 포켓몬의 수보다 적으면 가져갈 수 있는 포켓몬의 수가 답이고

그 반대면 중복 제거 후 남아있는 포켓몬의 수가 답이다.

 

 

 

다른사람 풀이

 

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

min 으로 한줄로 해결할 수 있다.

len()/2과 len(set(ls))를 비교하여 len()/2이 더 작다면 len()/2 를 return하고 아니면 len(set(ls))를 return 한다.