본문 바로가기
알고리즘/프로그래머스

[프로그래머스] 폰켓몬

by 며루치꽃 2021. 4. 30.

1. 문제

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

 

코딩테스트 연습 - 폰켓몬

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

programmers.co.kr

2. 내가 생각했던 풀이과정

 

1) 같은 포켓몬은 같은 종류로 치기 때문에 중복을 없애기 위해서 set( ) 을 이용하였습니다

2) 폰켓몬의 종류가 n / 2보다 작을 때는 폰켓몬의 종류를 return 해주고, 폰켓몬의 종류가 n/2 보다 클 경우에는 n/2를 return 해줍니다

 

3. 나의 풀이

def solution(nums):
    set_nums = set(nums)
    if len(list(set_nums)) < len(nums) / 2:
        return len(list(set_nums))
    else:
        return len(nums) / 2

4. 다른 사람의 풀이

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

min 함수를 이용하여 최소 값만 구하면 됩니다.

 

 

댓글