알고리즘 공부/프로그래머스
(Java)프로그래머스 코딩테스트 연습 - 찾아라 프로그래밍 마에스터 - 폰켓몬
HRuler
2020. 11. 22. 19:34
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/1845?language=java
코딩테스트 연습 - 폰켓몬
당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.
programmers.co.kr
2. 나의 풀이
import java.util.*;
class Solution {
public int solution(int[] nums) {
int answer = nums.length/2;
ArrayList<Integer> arr = new ArrayList<Integer>();
for(int i = 0; i < nums.length; i = i + 1) {
if(!arr.contains(nums[i])) {
arr.add(nums[i]);
}
}
//System.out.println(arr);
if(answer > arr.size()) {
answer = arr.size();
}
return answer;
}
}
3. 다른 사람 풀이
import java.util.HashSet;
class Solution {
public int solution(int[] nums) {
HashSet<Integer> hs = new HashSet<>();
for(int i =0; i<nums.length;i++) {
hs.add(nums[i]);
}
if(hs.size()>nums.length/2)
return nums.length/2;
return hs.size();
}
}