티스토리 뷰
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/1845
프로그래머스 코딩테스트 고득점 Kit의 해시 Level 1 문제다.
만약 폰켓몬이 8마리이면, 총 4마리의 폰켓몬을 가져갈 수 있을 것이다.
여기서 3종류의 폰켓몬이 있다면, 최대 3종류의 폰켓몬을 가져갈 수 있고,
4종류 이상의 폰켓몬이 있다면 최대 4종류의 폰켓몬을 가져갈 수 있다.
이를 간단히 표현하면 다음과 같다.
폰켓몬 종류 >= 가져갈 수 있는 폰켓몬 갯수 ---> 가져갈 수 있는 폰켓몬 갯수
폰켓몬 종류 < 가져갈 수 있는 폰켓몬 갯수 ---> 폰켓몬 종류
중복을 허용하지 않는 HashSet에 폰켓몬을 모두 넣으면 그 HashSet의 size가 종류의 갯수가 된다.
import java.util.HashSet;
class Solution {
public int solution(int[] nums) {
int answer = 0;
HashSet<Integer> h = new HashSet<Integer>();
for(int n : nums) h.add(n);
answer = h.size() < nums.length/2 ? h.size() : nums.length/2;
return answer;
}
}
728x90
'algorithm > programmers' 카테고리의 다른 글
[프로그래머스/자바] 위장 풀이 (0) | 2022.11.14 |
---|---|
[프로그래머스/자바] 전화번호 목록 풀이 (1) | 2022.11.14 |
[프로그래머스/자바] 완주하지 못한 선수 풀이 (0) | 2022.11.14 |
[프로그래머스/자바] 코딩 테스트 공부 풀이 - 2020 KAKAO TECH INTERNSHIP (0) | 2022.11.13 |
[프로그래머스/자바] 두 큐 합 같게 만들기 풀이 - 2022 KAKAO TECH INTERNSHIP (0) | 2022.11.13 |