코딩공부/프로그래머스 (python)
[프로그래머스] 폰켓몬 (python)
CodingKwon
2021. 7. 27. 12:13
문제 링크 (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에 넣습니다.