문제 풀이/프로그래머스
[python] 프로그래머스 - 폰켓몬
동까의 코딩
2025. 3. 11. 13:48
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/1845?language=python3
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제정리
1. 폰켓몬은 종류에 따라 번호로 구분한다. 같은 폰켓몬을 데려갈 수도 있지만 N/2의 폰켓몬 수까지 데려가려고 한다.
2. 같은 폰켓몬은 최대 2마리까지 데려갈 수 있다.
3. 가장 많은 폰켓몬을 고르기 위한 코드를 작성하라.
풀이과정
1. 전체 리스트를 반으로 줄인 길이를 저장
2. set함수를 통해 중복을 제거하고 리스트의 길이를 저장
3. 두 길이 값을 서로 비교하여 맥스 값보다 중복제거 리스트가 크면 맥스 값을 출력하고, 작으면 중복제거 리스트 크기를 출력한다.
def solution(nums):
answer = 0
# 절반만 뽑으면 된다.
# 절반중에 겹치지 않는 포켓몬이 절반 이상이면 절반 값 / 이하면 그 값을 출력한다.
max_len = len(nums) / 2
nums_len = len(set(nums))
if max_len >= nums_len:
answer = nums_len
else:
answer = max_len
return answer
반응형