본문 바로가기
카테고리 없음

[Python] 찾아라 프로그래밍 마에스터 : 폰켓몬

by 으녜 2021. 4. 5.
728x90

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

 

코딩테스트 연습 - 폰켓몬

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

programmers.co.kr

 

💡문제💡


연구실에 있는 N마리의 포켓몬 중 N/2 마리의 폰켓몬을 선택해서 가져갈 수 있다고 할 때 (같은 종류의 폰켓몬이 존재할 수 있음), 가장 많은 종류의 폰켓몬을 선택하는 방법을 찾아 그 때의 폰켓몬 종류 개수를 return 하시오. 

 

 

[제한 사항]

  • nums는 폰켓몬의 종류 번호가 담긴 1차원 배열입니다.
  • nums의 길이(N)는 1 이상 10,000 이하의 자연수이며, 항상 짝수로 주어집니다.
  • 폰켓몬의 종류 번호는 1 이상 200,000 이하의 자연수로 나타냅니다.
  • 가장 많은 종류의 폰켓몬을 선택하는 방법이 여러 가지인 경우에도, 선택할 수 있는 폰켓몬 종류 개수의 최댓값 하나만 return 하면 됩니다.

 

[입출력 예]

 

코드 및 풀이💻


 

1 ) nums 리스트 중복 제거

2 ) 폰켓몬의 종류가 가져갈 수 있는 폰켓몬(총 폰켓몬 수/2)보다 많다면 가져갈 수 있는 폰켓몬의 수 저장

3 ) 그렇지 않다면 폰켓몬의 종류의 수 저장

 

 

**다른 사람의 풀이**


*최소값 함수 min() 사용

 

728x90