[Java] 폰켓몬

allzeroyou·2025년 1월 20일
0

Java-Algorithm

목록 보기
6/26
post-thumbnail

https://school.programmers.co.kr/learn/courses/30/lessons/1845?language=java

문제요약
N마리 포켓몬 중 N/2 마리 고르기
이때 서로 다른 종류의 포켓몬을 골라야 함.

생각
1. 서로 다른 종류를 골라야 하니, 포켓몬 종류 배열 -> HashSet으로 만들어 중복 x
2. 이때, 고르려는 마리수(n/2) <= set의 길이: 고르려는 마리수 return. 그렇지 않으면 set의 길이 반환.

import java.util.*;

class Solution {
    public int solution(int[] nums) {
        int answer = 0;
        
        // 1. 중복 제거한 포켓몬 종류 set 만들기
        HashSet<Integer> set = new HashSet<>();
        
        for(int num: nums){
            set.add(num);            
        }
        // 2. 고르려는 마리수
        int select = nums.length/2;
    
        // 3. 최대 고르는 마릿수 return
        if(select <= set.size())
            return select;
        else
            return set.size();
    }
}
profile
모든 건 zero 부터, 차근차근 헛둘헛둘

0개의 댓글