본문 바로가기

프로그래머스/JAVA

008. 폰켓몬[JAVA]

0. 사용 함수

  • Arrays.fill(배열, 값)  >> (배열전체에 지정값으로 세팅해주는 함수)

 

1. 문제 내용

  • 설명

주어진 n개의 폰켓몬 중 n/2개를 가져갈 수 있는데 최대한 다양하게 가져가는 것이 목표

 

  • 제한 사항

   nums는 폰켓몬의 종류 번호가 담긴 1차원 배열입니다.
   nums의 길이(N)는 1 이상 10,000 이하의 자연수이며, 항상 짝수로 주어집니다.
   폰켓몬의 종류 번호는 1 이상 200,000 이하의 자연수로 나타냅니다.
   가장 많은 종류의 폰켓몬을 선택하는 방법이 여러 가지인 경우에도, 선택할 수 있는 폰켓몬 종류 개수의 최댓값 하나만 return 하면 됩니다.

 

2. 문제 풀이

import java.util.HashSet;

class Solution {
    public int solution(int[] nums) {
        int getCount = (nums.length / 2);
		HashSet<Integer> hashSet = new HashSet<>();
        for(Integer item : nums){
            hashSet.add(item);
        }		
        int answer = Math.abs(hashSet.size()) < Math.abs(getCount) ? hashSet.size() : getCount;
        return answer;
    }
}

 

 

3. 채점 결과

  • 정확성 테스트

테스트 1 〉 통과 (0.04ms, 75.7MB)
테스트 2 〉 통과 (0.08ms, 81.1MB)
테스트 3 〉 통과 (0.07ms, 76MB)
테스트 4 〉 통과 (0.04ms, 71.9MB)
테스트 5 〉 통과 (0.13ms, 78.8MB)
테스트 6 〉 통과 (0.14ms, 72MB)
테스트 7 〉 통과 (0.23ms, 78.5MB)
테스트 8 〉 통과 (0.20ms, 72.5MB)
테스트 9 〉 통과 (0.28ms, 73.8MB)
테스트 10 〉 통과 (0.31ms, 76.6MB)
테스트 11 〉 통과 (0.12ms, 77.1MB)
테스트 12 〉 통과 (0.46ms, 79.8MB)
테스트 13 〉 통과 (0.80ms, 75.3MB)
테스트 14 〉 통과 (0.80ms, 81.2MB)
테스트 15 〉 통과 (0.83ms, 74.1MB)
테스트 16 〉 통과 (2.91ms, 81MB)
테스트 17 〉 통과 (2.95ms, 75.4MB)
테스트 18 〉 통과 (4.70ms, 84.1MB)
테스트 19 〉 통과 (3.14ms, 80.9MB)
테스트 20 〉 통과 (2.65ms, 76.4MB)


전체 종류와 n/2개 중 작은 것을 돌려주면 되는 문제

'프로그래머스 > JAVA' 카테고리의 다른 글

007. 체육복[JAVA]  (0) 2022.05.21
006. 모의고사[JAVA]  (0) 2021.12.30
004. 소수 만들기[JAVA]  (0) 2021.12.23
002. [카카오 인턴] 키패드 누르기[JAVA]  (0) 2021.12.18
001. 로또의 최고 순위와 최저 순위[JAVA]  (0) 2021.12.13