https://school.programmers.co.kr/learn/courses/30/lessons/1845#
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
이 문제는 폰켓몬의 리스트가 주어지고, 그 리스트의 /2의 개수 만큼 폰켓몬을 뽑을 수 있습니다.
그 수의 최대를 출력하면 되는 문제 입니다.
여기서 저는 순열이라고 생각을 하여 combinations 가져와서 문제를 풀었는데
시간초과가 나버렸습니다.
from itertools import combinations
def solution(nums):
answer = 0
set_list = set(nums)
flag = False
for i in combinations(set_list, len(nums)//2):
if len(i) >= answer:
answer = len(i)
flag = True
if not flag:
answer = len(set_list)
return answer
return answer
복잡하게 생각 안하고 이런식으로 출력하면 정답이 나온다.
def solution(nums):
answer = 0
set_list = set(nums)
if len(set_list) > len(nums)//2:
return len(nums)//2
else:
return len(set_list)
'PS' 카테고리의 다른 글
1655 가운데를 말해요 (0) | 2025.05.06 |
---|---|
[Programmer] 전화번호 목록 (0) | 2024.12.10 |
[Programmer] 괄호 회전하기 (0) | 2024.12.02 |
[programmers] [PCCP 기출문제] 2번 / 석유 시추 (0) | 2024.11.30 |
[Programmers] [PCCE 기출문제] 9번 / 지폐 접기 (0) | 2024.11.21 |