programmers_level1_ponketmon
2021. 9. 23.
이름이 흥미롭다. 문제를 읽어보면 별로 어렵진 않다. 그냥 폰켓몬 N개 주어지면 중복 제거하고 N/2개를 뽑는데 뽑을 수 있는 폰켓몬 종류의 최댓값을 return 하라는 문제다. 처음에는 set으로 중복을 제거하고 combination을 쓸 생각이었다. 하지만, combination으로 폰켓몬을 뽑은 뒤 그 안에 있는 개수들을 세주는 게 번거롭기도 했고, 코드를 짜 보니 시간 초과가 나는 예시들이 있어서 알고리즘을 다시 생각했다. 생각하다 보니 너무 간단해서 현타가 왔다. 1. 받은 리스트 nums의 len을 2로 나눠준다. 2. nums를 set으로 변경하여 중복을 없애준다. 3. 1번의 값과 2번의 len을 비교해서 더 작은 값을 출력해준다. 위 알고리즘을 구현한 코드다. 코드를 보다 보면 함수 하나..