폰켓몬

이은미·2025년 7월 13일
0

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/1845

문제 파악

•	폰켓몬 종류가 들어 있는 배열 nums
•	nums.length / 2 만큼만 고를 수 있음
•	가능한 한 다양한 종류를 뽑아야 함

👉 그러니까 종류 수가 뽑을 수 있는 개수보다 크면 N/2,
작으면 그냥 종류 수만큼만 뽑는 거다

접근 방법

1.	Set을 이용해서 중복 제거 → 고유한 종류 파악
2.	뽑을 수 있는 최대 개수는 nums.length / 2
3.	Math.min(고유 종류 수, N/2) 리턴

코드 구현

import java.util.*;

class Solution {
public int solution(int[] nums) {
Set set = new HashSet<>();

    for (int num : nums) {
        set.add(num);
    }

    int maxPick = nums.length / 2;

    return Math.min(set.size(), maxPick);
}

}

profile
파이팅 해야지

0개의 댓글