[Programmers] 폰켓몬 (Python)
- 최근 테스트 코드를 공부하다 보니 “경계”를 잘 파악하는 것이 중요하다는 것을 깨닫게 되었다.
- 이 문제에서도 그렇듯이
half
와len(nums_dict)
가 같은 “경계”를 생각하면 쉽게 풀 수 있다.
- 이 문제에서도 그렇듯이
Solution
def solution(nums):
N = len(nums)
half = N // 2
nums_dict = {num: 0 for num in nums}
if half <= len(nums_dict):
return half
# if half > len(nums_dict)
return len(nums_dict)
print(solution([3, 1, 2, 3])) # 2, {3, 1, 2}
print(solution([3, 3, 3, 2, 2, 4])) # 3, {3, 2, 4}
print(solution([3, 3, 3, 2, 2, 2])) # 3, {3, 2}
Leave a comment