문제 풀이: 배열에 대한 중복 제거
가장 많은 종류의 폰켓몬을 선택하는 방법을 찾아, 그때의 폰켓몬 종류 번호의 개수를 return 하도록 solution 함수를 완성합니다.
폰켓몬의 종류는 int[]로 전달됩니다.
public int solution(int[] nums)
문제를 해결하기 위한 키워드는 다음과 같습니다.
입력 배열의 크기 / 2는 선택 할 수 있는 폰켓몬의 수입니다. 최적의 경우 이 숫자만큼 폰켓몬의 종류가 존재합니다.중복을 제거한 배열의 크기는 폰켓몬의 종류입니다.
import java.util.*;
import java.util.stream.Collectors;
class Solution {
public int solution(int[] nums) {
HashSet<Integer> o = new HashSet<>(Arrays.stream(nums).boxed().collect(Collectors.toList()));
int max = nums.length / 2;
return Math.min(max, o.size());
}
}
코드 | 비고 | |
중복을 제거한 Collection을 얻기 위해서 |
||
문제에서 요구하는 결과입니다. 선택 할 수 있는 폰켓몬의 수는 중복을 제거한 배열의 크기보다 클 수 없습니다. |
'Algorithm > Programmers' 카테고리의 다른 글
Level 1: 같은 숫자는 싫어, 배열의 연속된 중복 Element 제거 (0) | 2023.11.30 |
---|---|
Level 1: 가운데 글자 가져오기, 짝수 홀수 판단과 배열 인덱싱 (0) | 2023.11.30 |
Level 0: n 번째 원소부터 배열 자르기 (0) | 2023.11.22 |
Level 0: 정규식 사용하여 문자열을 공백으로 구분하기 (0) | 2023.11.22 |
Level 0: 문자열 대소문자 바꿔서 출력하기 (0) | 2023.11.22 |