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