-
프로그래머스 - Lv1. 폰켓몬PS 2022. 2. 24. 14:21
문제 : 폰켓몬
- 문제 링크는 여기.
- 쉽게 말해, N개 주어지는 폰켓몬 중에서 최대한 다양한 폰켓몬 종류로 골라서 가져가되, 최대 N/2개 골라라.
풀이
import java.util.HashSet; class Solution { public int solution(int[] nums) { HashSet<Integer> numSet = new HashSet<Integer>(); for (int n : nums) numSet.add(n); return (nums.length / 2) <= (numSet.size()) ? (nums.length / 2) : (numSet.size()); } }
- N/2개 혹은 중복제거한 뒤의 갯수(를 S라고 하자), 답은 둘 중에 하나다. S가 N/2개보다 크면 그 안에서 N/2개만큼 자유롭게 집으면 되니 답은 N/2개가 되고, S가 N/2개보다 작으면 최대한 다양하게 N/2개만큼 집어도 어차피 중복되지 않는 개수는 S개니까 답은 S개가 된다.
후기
1 ) 오늘부터 아침 공부 시작하기 전에 Lv1 문제를 하나씩 풀어보려고 한다. 스트레칭 느낌으로. 오늘은 문제가 쉬웠던 거지만, 그래도 뭔가 하루 시작이 가벼운 느낌이 들어 좋다.
2 ) 이전에 풀었던 코테 문제들도 풀이 적어놓은건 블로그로 옮겨야겠다.'PS' 카테고리의 다른 글
프로그래머스 - Lv1. 2016년 (0) 2022.03.02 프로그래머스 - Lv1. 예산 (0) 2022.03.01 프로그래머스 - Lv1. 신고 결과 받기 (0) 2022.02.28 프로그래머스 - Lv1. 3진수 뒤집기 (0) 2022.02.27 프로그래머스 - Lv1. 약수의 개수와 덧셈 (0) 2022.02.26 프로그래머스 - Lv1. 실패율 (0) 2022.02.25