해시
1. 폰켓몬
- 최대한 많은 종류를 포함해야 하는데
- set(집합): 순서가 없음, 중복을 허용하지 않음
- answer = len(set(nums))
- 최대 N/2마리 선택 가능
- if answer > len(nums)/2:
return len(nums)/2
- if answer > 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
반응형
'Java > 알고리즘' 카테고리의 다른 글
[알고리즘/덱(Deque)] 스택, 큐, 덱 - 개념, Python 주요 문법, deque 객체 지원 메소드 (0) | 2024.08.16 |
---|---|
[알고리즘/그리디] 각 상황에서 최적인 방법 선택, 예시 문제(거스름돈, 1이 될 때까지, 곱하기 혹은 더하기, 모험가 길드) (1) | 2024.08.16 |
[알고리즘] 해시 - Lv.2 전화번호 목록 (0) | 2024.06.13 |
[알고리즘] 해시(Hash) 이론 이해하기 (0) | 2024.06.10 |
[알고리즘] 해시 - Lv.1 완주하지 못한 선수 (0) | 2024.06.10 |