본문 바로가기
Python3/프로그래머스

2022.06.01 [프로그래머스] (python 파이썬) 포켓몬

by ian's coding 2022. 6. 1.
728x90
반응형

 

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

 

코딩테스트 연습 - 폰켓몬

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

programmers.co.kr

 


풀이

이 문제는 N마리의 포켓몬중 N/2의 포켓몬을 가질 수 있는데, 이때 같은 종류의 포켓몬이 있을 수도 있다. 

그래서 포켓몬이 들어있는 nums를 set을 이용해 중복값을 제거했다.

그리고 len(nums_set)이 N/2보다 작으면 nums_set의 길이+중복된 포켓몬을 뽑아야하기 때문에 뽑을 수 있는 최대 포켓몬의 종류는 len(nums_set)이 된다.

len(nums_set)이 N/2보다 크거나 같으면 중복되지 않게 포켓몬을 뽑을 수 있기 때문에 뽑을 수 있는 최대 포켓몬의 종류는 N/2가 된다.

1
2
3
4
5
6
7
8
9
def solution(nums):
    answer = 0
    cnt=len(nums)/2
    nums_set=set(nums)
    if len(nums_set)<cnt:
        answer=len(nums_set)
    else:
        answer=cnt
    return answer
cs

 

 

 

 

728x90
반응형

댓글