본문 바로가기

알고리즘/프로그래머스 문제풀이

프로그래머스 - 폰켓몬(lv1, python)

728x90

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제 접근

전체 폰컷몬 중 절반을 가져감

최대한 다양한 종류의 폰켓몬을 가져갈 때, 최대 값은?

set을 활용해 폰켓몬의 종류를 파악

모든 종류를 가져갈 수 있으면 다 가져가고, 다 못가져가면 전체 중 절반이 가져갈 수 있는 종류의 최대 값임

 

정답 코드

def solution(nums):
    answer = 0
    set_nums = set(nums)
    if len(nums) == 0:
        return 0
    elif len(nums) / 2 > len(set_nums):
        answer = len(set_nums)
    else:
        return len(nums) / 2
    return answer