본문 바로가기
Coding Test/Programmers

프로그래머스 - Level.1 폰켓몬(Python)

by JUNG씨 2023. 1. 16.

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

 

프로그래머스

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

programmers.co.kr

 

 

 

# 첫번째 풀이
def solution(nums):
    mon = list(set(nums))  # 중복 폰켓몬 제거
    i = len(nums) // 2     # 데려갈 수 있는 폰켓몬 수
    
    if len(mon) < i:       # 중복을 제거한 폰켓몬의 수가 데려갈 수 있는 폰켓몬의 수보다 작으면 len(mon)
        return len(mon)
    
    return i

print(solution([3,1,2,3]))  # 2
print(solution([3,3,3,2,2,4]))  # 3


# 두번째 풀이
def solution2(nums):
    return min(len(nums)//2, len(set(nums)))

print(solution2([3,1,2,3]))  # 2
print(solution2([3,3,3,2,2,4]))  # 3