코드: https://github.com/kgh128/Problem-Solving/blob/main/src/Programmers/%ED%8F%B0%EC%BC%93%EB%AA%AC.java
HashMap에 정리다음과 같은 쌍을 pokemonType이라는 HashMap에 저장한다. HashMap의 경우 이미 값이 있는 키에 대해 또 값이 들어오면 기존의 값을 제거하고 새로 들어온 값을 저장한다. 따라서 반복문을 돌면서 nums에 있는 모든 원소를 pokemonType에 넣으면 폰켓몬 종류 번호가 중복되지 않고 키에 남는다.
예를 들어서 nums = {3, 1, 2, 3}이고, 아래의 코드를 실행하면 pokemonType의 키는 1, 2, 3이 되고, pokemonType.size()도 3이 된다. 이는 폰켓몬 종류의 개수가 된다.
for (int i = 0; i < nums.length; i++) {
pokemonType.put(nums[i], i);
}
(데려갈 폰켓몬의 수) > (폰켓몬 종류 개수)
-> (폰켓몬 종류 개수)가 가져갈 수 있는 폰켓몬 종류 개수의 최대값
(데려갈 폰켓몬의 수) <= (폰켓몬 종류 개수)
-> (데려갈 폰켓몬의 수)가 가져갈 수 있는 폰켓몬 종류 개수의 최대값
따라서 (데려갈 폰켓몬의 수)와 (폰켓몬 종류 개수) 중에서 더 작은 값이 최종 결과이다.
answer = Math.min(getPokemonNums, pokemonType.size());
HashMap 쓰기// 객체 생성 - <key의 타입, value의 타입>
HashMap<String, String> map = new HashMap<String, String>();
// HashMap에 항목 추가 - key, value
map.put("key", "value");
// HashMap에서 key를 이용하여 value 검색
map.get("key");
// HashMap의 항목 개수 알아내기
map.size();
// HashMap에 해당 key가 들어있는지 확인
if (map.containsKey("key")) { }