코딩테스트/프로그래머스
[Java] 프로그래머스 - 폰켓몬 (1단계)
배똥회장
2022. 4. 26. 11:41
728x90
코딩 테스트 풀이 체크리스트 |
|
2시간 내에 풀었는가? | O |
본인의 실력으로 풀었는가? | O |
코딩테스트 연습 - 폰켓몬
당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.
programmers.co.kr
import java.util.*;
class Solution {
public int solution(int[] nums) {
HashMap<Integer, Integer> list = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
list.put(nums[i], list.getOrDefault(nums[i], 0) + 1);
}
return (nums.length / 2 > list.size()) ? list.size() : nums.length / 2;
}
}
테스트 1 〉 | 통과 (0.02ms, 81.9MB) |
테스트 2 〉 | 통과 (0.08ms, 75.6MB) |
테스트 3 〉 | 통과 (0.02ms, 74.3MB) |
테스트 4 〉 | 통과 (0.02ms, 72.7MB) |
테스트 5 〉 | 통과 (0.07ms, 75.3MB) |
테스트 6 〉 | 통과 (0.03ms, 73.5MB) |
테스트 7 〉 | 통과 (0.36ms, 73.8MB) |
테스트 8 〉 | 통과 (0.23ms, 74.1MB) |
테스트 9 〉 | 통과 (0.30ms, 76.5MB) |
테스트 10 〉 | 통과 (0.27ms, 82.4MB) |
테스트 11 〉 | 통과 (0.36ms, 75.5MB) |
테스트 12 〉 | 통과 (0.55ms, 79.1MB) |
테스트 13 〉 | 통과 (1.38ms, 67.5MB) |
테스트 14 〉 | 통과 (0.91ms, 81MB) |
테스트 15 〉 | 통과 (0.92ms, 73.5MB) |
테스트 16 〉 | 통과 (6.12ms, 85.5MB) |
테스트 17 〉 | 통과 (4.86ms, 85.8MB) |
테스트 18 〉 | 통과 (4.50ms, 72MB) |
테스트 19 〉 | 통과 (3.69ms, 79.6MB) |
테스트 20 〉 | 통과 (2.90ms, 81MB) |
해시맵으로 폰켓몬 종류가 몇 종류인지 파악하고
종류 수와 nums / 2 중에서 작은 숫자를 리턴하면 되는데, Math.min( )으로 처리하려고 보니까 시간이 조금 더 길어지길래 그냥 삼항연산자로 처리함
728x90