[プログラマー]ポンケンモン-Java,Java
難易度
レベル1
質問する
https://programmers.co.kr/learn/courses/30/lessons/1845
に答える
全部でN個のケースの中からN/2個を選択する方法はbacktrackingで実現し、問題を解いてからテスト7からタイムアウトした.
1級だけど考えが複雑すぎて簡単に考え直した
nums配列をsetに変更し、重複するphonkemonクラスを削除します.
setのsizeがN/2より大きいか等しい場合、N/2が答えより小さい場合、setのsizeは答えです.
コード#コード#
import java.util.HashSet;
import java.util.Set;
class Solution {
public int solution(int[] nums) {
Set<Integer> set = new HashSet<Integer>();
for (int i : nums) {
set.add(i);
}
if (set.size() >= nums.length / 2) {
return nums.length / 2;
} else {
return set.size();
}
}
}
Reference
この問題について([プログラマー]ポンケンモン-Java,Java), 我々は、より多くの情報をここで見つけました https://velog.io/@kimmjieun/프로그래머스-폰켓몬-Java-자바テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol