문제 링크 (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에 넣습니다.
'코딩공부 > 프로그래머스 (python)' 카테고리의 다른 글
[프로그래머스] 문자열 압축 (python) (0) | 2021.08.02 |
---|---|
[프로그래머스] 숫자 문자열과 영단어 (python) (0) | 2021.07.29 |
[프로그래머스] 모의고사 (python) (0) | 2021.07.27 |
[프로그래머스] 키패드 누르기 (python) (0) | 2021.07.26 |
[프로그래머스] 완주하지 못한 선수 (python) (0) | 2021.07.16 |
댓글