본문 바로가기

Java/알고리즘

[알고리즘] 해시 - Lv.1 폰켓몬

해시

1. 폰켓몬

  • 최대한 많은 종류를 포함해야 하는데
    • set(집합): 순서가 없음, 중복을 허용하지 않음
    • answer = len(set(nums))
  • 최대 N/2마리 선택 가능
    •     if answer > len(nums)/2:
              return len(nums)/2
  • [3, 3, 3, 2, 2, 2]라면
    • answer = len(set(nums)): 3, 2 = 2종류
    • len(nums)/2 = 3을 넘지 않기 때문에 answer = 2
  • [3, 3, 3, 2, 2, 4]라면
    • answer = len(set(nums)): 3, 2, 4 = 3종류
    • len(nums)/2 = 3을 넘지 않기 때문에 answer = 2
  • [3, 1, 2, 3]라면
    • answer = len(set(nums)): 3, 1, 2 = 3종류
    • len(nums)/2 = 2를 넘기 때문에 if문 실행되어 answer = 2
def solution(nums):
    answer = len(set(nums))
    if answer > len(nums)/2:
        return len(nums)/2
    return answer;

 


 

참고 사이트: https://programmers.co.kr/

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

반응형