알고리즘/프로그래머스
[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 한다.