반응형

문제

programmers.co.kr/learn/courses/30/lessons/1845

 

코딩테스트 연습 - 폰켓몬

당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.

programmers.co.kr

풀이

 

결국 내가 필요한건 내가 가져갈 수 있는 종류의 수 이므로

두가지를 알면 된다.

1. 폰켓몬의 종류

2. 내가 가져갈 수 있는 폰켓몬은 몇마리 ?

 

종류의 경우, 중복을 자동으로 제거해주는 CollectionSet 을 이용했고

가져갈 수 있는 폰켓몬 수는 N/2 이므로 length / 2

 

코드는 아래와 같다.

 

 

import java.util.HashSet;
import java.util.Set;

class Solution {
    public int solution(int[] nums) {
        int answer = 0;

        Set<Integer> set = new HashSet<>();

        for (int x : nums) {
            set.add(x);
        }

        int kind = set.size();
        int n = nums.length / 2;

        if (kind > n)
            answer = n;
        else
            answer = kind;

        return answer;
    }
}



반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기