알고리즘 스터디 1주차 과제로 해시 자료구조를 공부하고, 해시와 관련된 문제 중 폰켓몬 문제 풀이를 진행하였다.
코딩테스트 연습 - 폰켓몬 | 프로그래머스 스쿨 (programmers.co.kr)
생성자/메서드 | 설명 |
---|---|
HashMap() | HashMap 객체를 생성 ex) HashMap<String , Integer> map = new HashMap<String , Integer>(); |
Object put(Object Key, Object Value) | HashMap에 키와 값을 저장.ex) map.put("A", "aaa"); |
boolean containsKey(Object Key) | HashMap에 지정된 키(Key)가 포함되어 있는지 알려줌 |
boolean containsValue(Object Value) | HashMap에 지정된 값(Value)가 포함되어 있는지 알려줌 |
Object get(Object Key) | 지정된 Key 의 값을 반환 |
bloolean isEmpty | HashMap이 비어있는지 확인 |
Set keySet() | HashMap에 저장된 모든 키가 저장된 Set을 반환 |
int size() | HashMap에 저장된 요소의 개수를 반환 |
Collection values() | HashMap에 저장된 모든 값을 컬렉션 형태로 반환 |
import java.util.HashMap;
class Solution {
public int solution(int[] nums) {
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
for(int i=0; i<nums.length; i++){
if(!map.containsKey(nums[i])){
map.put(nums[i], 1);
}
}
if(map.size()<=nums.length/2){
return map.size();
}else{
return nums.length/2;
}
}
}