본문 바로가기
스터디/알고리즘

폰켓몬

by 세졍 2024. 1. 8.

 

해시-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