코딩테스트 제목 풀이 (문제출제 사이트)
코딩테스트 연습에 공개된 문제는 (주)그렙이 저작권을 가지고 있습니다.
(지문 하단에 별도 저작권 표시 문제 제외)
코딩테스트 연습 문제의 지문, 테스트케이스, 풀이 등과 같은 정보는 비상업적, 비영리적 용도로 게시할 수 있습니다.
코딩테스트 정보
- 프로그래머스
- python
- level 1
- 점수 : 캡쳐 못함
- 문제 링크
문제
당신은 폰켓몬을 잡기 위한 오랜 여행 끝에….
문제 내용이 길어 생략.
풀이 코드
풀이 코드
1
2
3
def solution(nums):
answer = min(len(set(nums)), int(len(nums) //2))
return answer
풀이 방식
■■■■ 문제 요약 ■■■■
중복값이 있는 N개의 원소를 가진 리스트에서 N/2 개를 뽑았을 때, 최대로 뽑을 수 있는 종류는 몇가지인가?
■■■■ 접근 방식 ■■■■
리스트의 원소가 모두 중복되지 않으면 N/2 종류를 뽑을 수 있다.
리스트의 원소에서 중복인 원소가 N/2 개가 넘는다면, “중복되지 않는 원소 종류의 수” 만큼 뽑을 수 있다.
■■■■ 핵심 계산식 서술 ■■■■ (1번 풀이 기준)
(1)
```python
핵심 계산식
answer = min(len(set(nums)), int(len(nums) //2))
위 식을 풀어쓰면
a = int(len(nums) // 2) nums_count = len(set(nums)) answer = min (a, nums_count) ```
댓글 남기기