Home 프로그래머스(폰켓몬)
Post
Cancel

프로그래머스(폰켓몬)

첫 시도

  • set을 이용하여 중복 제거
  • 다른 종류의 폰켓몬을 최대 N/2개 가지고 싶다 -> 폰켓몬의 종류가 N/2보다 작다면 최대값은 폰켓몬의 종류 개수가 된다
  • 시간 복잡도는 O(10^5)이다

해결

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.*;

class Solution {

    public int solution(int[] nums) {
        int answer = 0;
        HashSet<Integer> set = new HashSet();
        for(int i = 0; i<nums.length; i++){
            set.add(nums[i]);
        }
        int length =  nums.length /2;
        int setLength = set.size();
        if(setLength > length) answer = length;
        else answer = setLength;
        return answer;
    }
}

참고

  • 직접구현
This post is licensed under CC BY 4.0 by the author.