Published:
Updated:

  • 최근 테스트 코드를 공부하다 보니 “경계”를 잘 파악하는 것이 중요하다는 것을 깨닫게 되었다.
    • 이 문제에서도 그렇듯이 halflen(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}


Reference

Leave a comment