[파이썬] 프로그래머스 LV1 폰켓몬

청수동햄주먹·2023년 2월 8일
0

파이썬코딩테스트

목록 보기
10/35

프로그래머스 폰켓몬

간단한 문제라 이렇게 포스팅을 할 생각은 없었는데 보완 코드를 테스트해보고 첫시도와 성능 차이가 나서 기록!

첫 시도

def solution(nums):
    size = len(nums) / 2
    uniq = len(set(nums))
    if size < uniq: return size
    else : return uniq

간단한 문제이다. 총 량의 반을 뽑는데 얼마나 다양하게 뽑을 수 있느냐이다.
set()을 해서 반복되는 수를 다 지워서 unique한 수가 얼마나있느지도 알아내서 만약 이 수가 더 크다면 총량의 반을 리턴, 아니면 이 수를 리턴한다.

보완

def solution(nums):
    size = len(nums) / 2
    uniq = len(set(nums))
    return size if size < uniq else uniq

한번 한줄로 리턴코드를 작성하면 어떻게 될 까 궁금해서 해봤는데 진짜 성능의 향상이 있었다

다른 사람의 풀이

def solution(nums):
    return min(len(nums)/2, len(set(nums)))

결론적으로 더 작은수를 뽑는거라 이런식으로 작성해도 된다는거~ 지역변수를 안써도 되서 메모리 사용에서 이점이 있다

성능 비교

첫 시도다른 사람의 풀이보완
테스트 1 〉통과 (0.00ms, 10MB)통과 (0.00ms, 10.1MB)통과 (0.00ms, 10.1MB)
테스트 2 〉통과 (0.00ms, 10.1MB)통과 (0.00ms, 10.1MB)통과 (0.00ms, 10.1MB)
테스트 3 〉통과 (0.01ms, 10.1MB)통과 (0.01ms, 9.97MB)통과 (0.00ms, 10.1MB)
테스트 4 〉통과 (0.00ms, 10MB)통과 (0.00ms, 9.99MB)통과 (0.00ms, 10MB)
테스트 5 〉통과 (0.00ms, 9.92MB)통과 (0.00ms, 10.1MB)통과 (0.00ms, 10.1MB)
테스트 6 〉통과 (0.00ms, 9.99MB)통과 (0.00ms, 9.96MB)통과 (0.00ms, 10MB)
테스트 7 〉통과 (0.01ms, 10.1MB)통과 (0.01ms, 10MB)통과 (0.01ms, 10.1MB)
테스트 8 〉통과 (0.01ms, 10.1MB)통과 (0.01ms, 10MB)통과 (0.01ms, 10.2MB)
테스트 9 〉통과 (0.01ms, 10MB)통과 (0.01ms, 10.1MB)통과 (0.01ms, 10MB)
테스트 10 〉통과 (0.01ms, 9.96MB)통과 (0.01ms, 10.1MB)통과 (0.01ms, 9.99MB)
테스트 11 〉통과 (0.01ms, 10MB)통과 (0.01ms, 10.1MB)통과 (0.01ms, 9.96MB)
테스트 12 〉통과 (0.05ms, 10.2MB)통과 (0.07ms, 10.1MB)통과 (0.05ms, 10.2MB)
테스트 13 〉통과 (0.07ms, 10.1MB)통과 (0.05ms, 10.1MB)통과 (0.06ms, 10.2MB)
테스트 14 〉통과 (0.08ms, 10.1MB)통과 (0.05ms, 10.1MB)통과 (0.05ms, 10.1MB)
테스트 15 〉통과 (0.05ms, 10.1MB)통과 (0.05ms, 10.1MB)통과 (0.05ms, 10.1MB)
테스트 16 〉통과 (1.06ms, 11MB)통과 (0.74ms, 10.9MB)통과 (0.77ms, 11MB)
테스트 17 〉통과 (0.54ms, 10.3MB)통과 (0.37ms, 10.4MB)통과 (0.37ms, 10.5MB)
테스트 18 〉통과 (0.36ms, 10.3MB)통과 (0.36ms, 10.3MB)통과 (0.36ms, 10.4MB)
테스트 19 〉통과 (0.44ms, 10.2MB)통과 (0.24ms, 10.2MB)통과 (0.24ms, 10.3MB)
테스트 20 〉통과 (0.32ms, 10.2MB)통과 (0.18ms, 10.1MB)통과 (0.19ms, 10.2MB)
profile
코딩과 사별까지

0개의 댓글