본문 바로가기
코딩공부/프로그래머스 (python)

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

by CodingKwon 2021. 7. 27.

문제 링크 (Level 1)

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

 

코딩테스트 연습 - 폰켓몬

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

programmers.co.kr

 

나의 코드 (python)

def solution(nums):
    answer = 0

    # 몇 개 뽑을지 개수
    num = len(nums) // 2

    # 배열에 중복을 제외한 폰켓몬들 나열
    arr = list(set(nums))
    
    if len(arr) > num:
        # 배열의 길이가 뽑을 폰켓몬의 수보다 많을 경우
        answer = num
    else:
        # 배열의 길아가 뽑을 폰켓몬의 수보다 적은 경우
        answer = len(arr)

    return answer

 

저는 이 문제의 접근을 폰켓몬을 몇 개 뽑을지 구하고 폰켓몬의 중복을 제거한 배열을 set을 통해서 만들었습니다.

 

이후에 뽑을 폰켓몬 개수보다 중복을 제거한 폰켓몬 배열보다 크면 뽑을 폰켓몬 개수를 answer에 넣습니다.

뽑을 폰켓몬 개수보다 중복을 제거한 폰켓몬 배열이 더 작다면 중복을 제거한 폰켓본 배열의 길이를 answer에 넣습니다.

댓글