본문 바로가기
🔅코딩테스트 공부🔅/❗프로그래머스(Lv.1)

[프로그래머스] Level1 폰켓몬(with python)

by 윤무무 2023. 1. 29.

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

 

프로그래머스

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

programmers.co.kr

 

1. 내가 작성한 코드
def solution(nums):
    poket = set(nums)
    if len(poket) < len(nums)//2:
        return len(poket)
    else:
        return len(nums)//2

조건1) 같은 종류 = 같은 번호

조건2) N/2 만큼을 뽑을 것이고, 최대한 많은 종류를 뽑아야 함

조건3) num2의 길이는 항상 짝수로 주어짐

 

1. set을 이용해서 nums의 중복을 제거해준다.

2. 뽑을 수 있는 폰켓몬 종류의 개수보다 뽑아야 하는 수가 많다 => 폰켓몬 종류 출력

3. 뽑아야 하는 개수가 뽑을 수 있는 종류보다 많다 => 뽑아야 하는 개수 출력

 

1. 추가 코드
def solution(nums):
    return min(len(nums)/2, len(set(nums)))

위랑 같은 방식이지만 이렇게 푸는 분도 계셨다.

 

그저 갓..

댓글