728x90
*문제 출처는 프로그래머스에 있습니다.
문제 제목: 폰켓몬
문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/1845
나의 풀이
def solution(nums):
select = len(nums) //2
set_list = set(nums)
if len(set_list) > select:
return select
else:
return len(set_list)
출력값으로 요구하는 것이 결국 "선택할 수 있는 폰켓몬 종류 개수의 최댓값 하나만 return 하면 됩니다." 라는 것이므로
선택할 수 있는 포켓몬의 수가 고를 수 있는 포켓몬 종류(set 함수로 중복 제거) 보다 작으면
선택할 수 있는 포켓몬 수를 리턴하고
그게 아니면 포켓몬 종류의 수를 리턴하면 되는 간단한 문제이다.
문제가 길어서 그렇지 쉽다.
다른 풀이
def solution(ls):
return min(len(ls)/2, len(set(ls)))
두 수 중에 최솟값을 리턴한다는 코드이므로 내가 한 풀이를 간단하게 한것과 같다.
728x90
'coding test - python > Programmers' 카테고리의 다른 글
Programmers / 3진법 뒤집기 / Python (0) | 2022.04.07 |
---|---|
Programmers / 최소직사각형 / Python (0) | 2022.04.07 |
Programmers / 예산 / Python (0) | 2022.04.07 |
Programmers / 소수 만들기 / Python (0) | 2022.04.05 |
Programmers / 이상한 문자 만들기 / Python (0) | 2022.04.01 |