코테/프로그래머스

[프로그래머스/Lv. 1] 폰켓몬

imname1am 2023. 2. 22. 12:05
반응형

코드

import java.util.*;

class Solution {
    public int solution(int[] nums) {

        int answer = 0;
        int max = nums.length / 2;      
        
        HashMap<Integer, Integer> hm = new HashMap<>();
        
        for(int n : nums) {
            hm.put(n, hm.getOrDefault(n, 0) + 1);
        }
        
        if(hm.size() > max) {
            answer = max;
        } else {
            answer = hm.size();
        }
        
        
        return answer;
    }
}

이제 9-13번째 줄까지는 어떻게 하는지 알겠는데

그 밑에 15-19번째 줄... 까지를 어떻게 계산해야하지 고민하고 있었다....

 

그래서 다른 분 코드를 참고하기로 했다...

 

[프로그래머스] 폰켓몬 문제풀이 (Java)

[프로그래머스] 폰켓몬 문제풀이 (Java)

velog.io

HashSet을 사용하셔서 hs.add(nums[i]); 이렇게 쓰신 점이 나랑은 다르다..

 

그리고 해시맵/해시셋 사이즈가 가져갈 수 있는 폰켓몬 (N / 2) 보다 크면, 가져갈 수 있는 폰켓몬 (N / 2)을 리턴하고,

작거나 같으면, 해시맵/해시셋 사이즈를 리턴하게 하면 되는 것이었다..

이거 이해하는 데만 5분 걸렸넹...😂

 

반응형