yesolje
프로그래머스_고득점kit_해시_폰켓몬 본문
풀이
import java.util.*;
class Solution {
public int solution(int[] nums) {
int answer = 0;
HashSet<Integer> hs = new HashSet<>();
for(int a : nums){
hs.add(a);
}
return hs.size() > (nums.length)/2 ? (nums.length)/2 : hs.size();
}
}
개념정리
❓Set
✔️객체를 중복해서 저장할 수 없으며, 하나의 null 값만 저장할 수 있다.
✔️비선형 구조이기 때문에 순서와 인덱스가 존재하지 않는다
✔️값 추가 및 삭제 시에 set 내부의 값을 검색하여 기능을 수행한다. List 구조에 비해 수행 속도가 느리다
❓HashSet
✔️Set 인터페이스를 구현한 클래스로 중복된 값을 허용하지 않고, 저장한 순서가 보장되지 않는다.
(LinkedHashSet을 사용하여 저장순서를 유지할 수 있음)
✔️null 값을 허용한다.
HashSet의 선언 및 사용
import java.util.*;
class Solution {
HashSet<Integer> set = new HashSet<>();
set.add(1);
set.add(2);
int setSize = set.size(); //set의 크기를 구할 수있다.
set.remove(1); //값 1 제거
set.clear(); //모든 값을 제거
boolean flag = set.contains(2); //값이 있는지 확인
}'코딩테스트' 카테고리의 다른 글
| 프로그래머스_고득점kit_완전탐색_모의고사 (0) | 2025.03.07 |
|---|---|
| 프로그래머스_고득점kit_완전탐색_최소직사각형 (0) | 2025.03.07 |
| 프로그래머스_고득점kit_정렬_K번째 수 (0) | 2025.03.06 |
| 프로그래머스_고득점kit_스택큐_같은 숫자는 싫어 (0) | 2025.03.06 |
| 프로그래머스_고득점kit_해시_완주하지 못한 선수 (1) | 2025.02.24 |