티스토리 뷰

728x90

https://school.programmers.co.kr/learn/courses/30/lessons/1845

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

프로그래머스 코딩테스트 고득점 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
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함