https://programmers.co.kr/learn/courses/30/lessons/1845
코딩테스트 연습 - 폰켓몬
당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.
programmers.co.kr
풀이 과정
폰켓몬을 가장 많이 고르는 경우 몇가지를 고를 수 있냐를 리턴해주면 된다.
모두 다른 종류의 폰켓몬이 들어왔다 해도 N/2개 만큼의 폰켓몬만 고를 수 있고, 폰켓몬의 종류가 3가지 밖에 안들어왔다면 5000개의 폰켓몬이 들어왔다 하더라도 3가지의 폰켓몬 밖에 고를수 없음을 알 수 있다.
따라서 답은 min(폰켓몬의 종류, N/2)이다.
소스 코드
def solution(nums):
answer = 0
dictionary = {}
for i in nums:
if i not in dictionary:
dictionary[i] = 1
else:
dictionary[i] += 1
min_value = min(len(dictionary), len(nums) // 2)
answer = min_value
return answer
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 3진법 뒤집기 [파이썬] (0) | 2022.05.11 |
---|---|
프로그래머스 - 약수의 개수와 덧셈 [파이썬] (0) | 2022.05.11 |
프로그래머스 - 체육복 [파이썬] [자바스크립트] (0) | 2022.05.08 |
프로그래머스 - K번째수 [파이썬] [자바스크립트] (0) | 2022.05.08 |
프로그래머스 - 모의고사 [파이썬] [자바스크립트] (0) | 2022.05.07 |