새소식

⌨️ Algorithms/프로그래머스

[Python] 프로그래머스 Lv1_폰켓몬

2022. 7. 31. 20:55

  • -

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

 

프로그래머스

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

programmers.co.kr

 

"""
입출력 예시)

nums = [3,1,2,3] -> 2
nums = [3,3,3,2,2,4] ->	3
nums = [3,3,3,2,2,2] -> 2
"""

def solution(nums):
    N_2 = len(nums) // 2 # N/2 마리 
    ponketmon = list(set(nums)) # 중복 제거(폰켓몬 종류별로 하나씩만 남긴 리스트)
    
    if len(ponketmon) > N_2: # 폰켓몬 종류의 개수가 N/2 보다 큰 경우
        answer = N_2 # N/2 (N/2마리까지만 가져갈 수 있음)
    else: # 폰켓몬 종류의 개수가 N/2와 같거나 작은 경우
        answer = len(ponketmon) # 폰켓몬 종류의 개수
        
    return answer

 

-> set() 이용 

 

 

# set() 적용 확인 

nums = [3,1,2,3]
ponketmon = list(set(nums))
N_2 = len(nums) // 2
print(ponketmon) # -> [1, 2, 3]
print(N_2) # -> 2


nums = [3,3,3,2,2,4]	
ponketmon = list(set(nums))
N_2 = len(nums) // 2
print(ponketmon) # -> [2, 3, 4]
print(N_2) # -> 3


nums = [3,3,3,2,2,2]	
ponketmon = list(set(nums))
N_2 = len(nums) // 2
print(ponketmon) # -> [2, 3]
print(N_2) # -> 3

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다!