아니 벨로그 임시저장글 어케불러옴?..
폰켓몬 글 날라갓어효.
개짜증남 지금...
하.. 똑같은거 또 적어야해서 개빡침 뿡이다.
얘는 문제가 그렇게 어려운게 아니라서 바로 코드 ㄱㄱ
def solution(nums):
answer = 0
choice = len(nums) // 2
new_nums = list(set(nums))
if len(new_nums) > choice:
return choice
else:
return len(new_nums)
return answer
사실 문제 보면 알겠지만 이 문제는 조건문을 사용해줄 필요가 굳이 없다..
def solution(nums):
answer = 0
choice = len(nums) // 2
new_nums = list(set(nums))
answer = min(len(new_nums), choice)
return answer
new_nums
는 nums
를 set
을 이용하여 중복을 제거해준 list
이다. 아무리 폰켓몬을 많이 가져갈 수 있어도 choice
개수만큼밖에 못가져가니까 answer
는 new_nums
의 길이와 choice
중 더 작은 값이 된다.
첫번째 코드에서 작성한 if
문이 사실상 min(len(new_nums), choice)
이 값을 찾기 위한 조건문이다.
두번째 코드를 바탕으로 return
을 한줄로 완성할 수 있다.
def solution(nums):
answer = 0
return min(len(list(set(nums))), len(nums) // 2)
이렇게!
그리고 또 문제 제한사항에
nums의 길이(N)는 1 이상 10,000 이하의 자연수이며, 항상 짝수로 주어집니다.
라고 나와있기 때문에 choice = len(nums) // 2
역시 choice = len(nums) / 2
라고 작성해도 무방.. 나는 문제를 제대로 잘 안읽어서 혹시나해서 //
사용해줬다. 어리바리공듀님의 문제읽기 실수~ 제한사항도 제대로 읽자😜