코딩테스트/Programmers

[프로그래머스] 포켓몬

grove1212 2025. 3. 1. 19:46

1. 내 풀이

set에 값을 집어넣은 후 풀이한 모습입니다.

 

import java.util.*;

class Solution {
    public int solution(int[] nums) {
        int answer = 0;
        Set<Integer> set = new HashSet<>();
        for(int num : nums) {
            set.add(num);
        }
        return Math.min(set.size(), nums.length/2);
    }
}

2. 다른 분 풀이

stream을 활용하여 풀이한 모습입니다.

import java.util.Arrays;
import java.util.stream.Collectors;

class Solution {
    public int solution(int[] nums) {
        return Arrays.stream(nums)
                .boxed()
                .collect(Collectors.collectingAndThen(Collectors.toSet(),
                        phonekemons -> Integer.min(phonekemons.size(), nums.length / 2)));
    }
}