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 |