[프로그래머스] 폰켓몬

박채은·2023년 4월 27일
0

코딩테스트

목록 보기
25/52

문제

문제가 엄청 길어서 이게 레벨 1이라고?하며 당황했지만 문제가 어렵지는 않았다.
꼼꼼하게 읽어보면 충분히 이해가는 문제였다.

문제 풀이

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

class Solution {
    public int solution(int[] nums) {
        // 0. 골라야하는 수 = chooseSize
        int chooseSize = nums.length / 2;
        
        // 1. 배열의 중복 제거 int[] -> HashSet
        Set<Integer> numbers = Arrays.stream(nums).boxed().collect(Collectors.toSet());
        
        // 1-1. 중복을 제거했을 때의 종류 = type
        int type = numbers.size();
        
        // 2. 중복을 제거한 수 > 골라야하는 수 -> return chooseSize;
        if(type > chooseSize){
            return chooseSize;
        }
        else{
            return type;
        }
    }
}

0개의 댓글