Hi, There!
안녕하세요, 바오밥입니다.
목차
- 문제
- 풀이
문제
문제 내용
https://school.programmers.co.kr/learn/courses/30/lessons/1845?language=java
풀이
나의 풀이
- 경우의 수를 고려해서 N/2 <= K, N/2 > K 식을 도출하여 풀이했다.
import java.util.*;
class Solution {
public int solution(int[] nums) {
// N 마리 중 N/2 마리를 고를 수 있는데, 이때 최대한 다양한 종류를 고르도록 해라.
// K(종류), V(개수) 자료구조 생성
// K의 개수(종류) 구하기
// N/2 <= K 라면 N/2 값 반환, N/2 > K 라면 K 값 반환
HashMap<Integer, Integer> map = new HashMap();
int answer = 0;
for(int n : nums)
map.put(n, map.getOrDefault(n, 0)+1);
answer = nums.length/2 <= map.size() ? nums.length/2 : map.size();
return answer;
}
}
'Dev > PS' 카테고리의 다른 글
[프로그래머스-코딩테스트 연습] 의상 (0) | 2023.12.05 |
---|---|
[프로그래머스-코딩테스트 연습] 전화번호 목록 (0) | 2023.12.05 |
[프로그래머스-코딩테스트 연습] 완주하지 못한 선수 (0) | 2023.12.05 |
[백준-누적합] 11660 구간 합 구하기 5 (1) | 2023.10.15 |
[백준-누적합] 2304 창고 다각형 (0) | 2023.10.15 |