해시-level1
문제이해
nums배열의 길이를 N 이라고 할 때 N/2길이만큼 뽑는다
뽑은 숫자가 폰켓몬종류를 의미하므로 그때 폰켓몬 종류번호의 개수를
return
1. 빈배열 arr를 만들어서 nums배열길이의/2를 초과하지 않을때까지
같은숫자면 배열에 들어가지 않게 arr에 추가한다
2.arr를 돌면서 다르면 cnt 를 1세어주고 같을경우는 그대로 cnt 를 1로 함
def solution(nums):
# 중복제거하기
set_nums = set(nums)
# 가지고있는 종류의 수
a = len(set_nums)
b = len(nums) //2 # 선택할 폰켓몬 수
return min(a,b)
nums = [3,3,3,2,2,2]
# nums의 //2 한만큼 가지는데 종류가 최대가 되는 종류개수를 출력
print(solution(nums))
'스터디 > 알고리즘' 카테고리의 다른 글
[2178] 미로 탐색 (1) | 2024.01.09 |
---|---|
전화번호 목록 (2) | 2024.01.09 |
완주하지 못한 선수 (0) | 2024.01.08 |
[1049] 기타줄 (0) | 2024.01.08 |
[3085] 사탕게임 (0) | 2024.01.08 |