티스토리 뷰

728x90
반응형

 

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

 

코딩테스트 연습 - 폰켓몬

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

programmers.co.kr

 

 


 

 

<나의 풀이>

def solution(nums):
    answer = 0
    nums.sort()
    n = set(nums)
    if (len(nums)//2) < len(n) :
        answer = len(nums)//2
    else : 
        answer = len(n)
    
    return answer

 

중복을 없애는 것을 이용하여 푼 로직!

n이 N/2 보다 작으면 선택할 수 있는 폰켓몬이 N/2보다 작은 것이니 n을 리턴하고,

최대 선택은 N/2이므로 크면 N/2를 리턴한다.

 

 

 

 

<다른 사람의 풀이>

def solution(ls):
    return min(len(ls)/2, len(set(ls)))
    
    
# <배운점> 
# => 짧게 코딩할 수 있다는 점

 

728x90
반응형
댓글