728x90
https://school.programmers.co.kr/learn/courses/30/lessons/1845
import java.util.*;
class Solution {
public int solution(int[] nums) {
int answer = 0;
HashSet<Integer> set = new HashSet<>();
for(int i : nums){
set.add(i);
}
if(set.size()>nums.length/2){
answer = nums.length/2;
}else{
answer = set.size();
}
return answer;
}
public int getC(int n, int m){
//nCm
int left=1;
int right = 1;
for(int i =n;i>=n-m;i--){
left*=1;
}
for(int i=1;i<=n;i++){
right*=i;
}
return left/right;
}
}
확통으로 풀면 nCm이라
n부터 n-m까지의 곱과 m!을 구해서 getC라는 조합 식을 구현
근데 다시 생각해보니 굳이 필요 없었던.
1. 폰켓몬 종류 > 데리고 있는 폰켓몬 수/2
-> 서로 다른 폰켓못 종류를 데려올 수 있다는 의미.
-> 데리고 있는 폰켓몬 수/2 반환
2.그 외
-> 모든 종류의 폰켓몬을 데리고 있다는 의미.
-> 몇 종류의 폰켓몬을 가지고 있는 지 반환
-> set.size 반환
728x90
'🐣 알고리즘 삐약 > ✏️ 냅다 덤벼보는 문제풀이' 카테고리의 다른 글
[프로그래머스] 전화번호 목록 | 해시 | lv.2 | JAVA (0) | 2024.10.31 |
---|---|
[프로그래머스] 완주하지 못한 선수 | 해시 | lv.1 | JAVA (0) | 2024.10.31 |
[프로그래머스] LV1. 가장 많이 받은 선뭉 | JAVA (0) | 2024.08.16 |
[프로그래머스] LV2. 택배 배달과 수거하기 | JAVA (0) | 2024.08.15 |
[프로그래머스] LV.1 개인정보 수집 유효기간 | JAVA (0) | 2024.08.15 |