Programmers_1845 폰켓몬
- TOC {:toc}
이 글은 프로그래머스의 1845번 문제를 JavaScript로 풀이한 것을 모아놓은 글입니다.
일종의 연습 기록이며 제가 정답을 받은 코드와 참고할만한 다른 코드를 같이 기록합니다. 필요한 경우 코드에 대한 해설을 기록합니다만 코드는 통과했어도 해설은 틀릴 수 있기 때문에 가볍게 참고해주시길 부탁드립니다. 피드백은 편하신 방법으로 자유롭게 주시면 감사하겠습니다.
2023.11.16
테스트 | 통과 | 시간 | 메모리 |
---|---|---|---|
테스트 1 | 통과 | 0.03ms | 33.5MB |
테스트 2 | 통과 | 0.03ms | 33.4MB |
테스트 3 | 통과 | 0.03ms | 33.5MB |
테스트 4 | 통과 | 0.03ms | 33.4MB |
테스트 5 | 통과 | 0.03ms | 33.4MB |
테스트 6 | 통과 | 0.04ms | 33.6MB |
테스트 7 | 통과 | 0.04ms | 33.5MB |
테스트 8 | 통과 | 0.03ms | 33.4MB |
테스트 9 | 통과 | 0.03ms | 33.5MB |
테스트 10 | 통과 | 0.03ms | 33.6MB |
테스트 11 | 통과 | 0.03ms | 33.4MB |
테스트 12 | 통과 | 0.08ms | 33.5MB |
테스트 13 | 통과 | 0.09ms | 33.4MB |
테스트 14 | 통과 | 0.07ms | 33.5MB |
테스트 15 | 통과 | 0.08ms | 33.5MB |
테스트 16 | 통과 | 0.57ms | 34.3MB |
테스트 17 | 통과 | 0.54ms | 34.2MB |
테스트 18 | 통과 | 0.38ms | 33.9MB |
테스트 19 | 통과 | 0.29ms | 34MB |
테스트 20 | 통과 | 0.23ms | 33.9MB |
단계 | 시작 시각 | 끝난 시각 | 걸린 시간 |
---|---|---|---|
문제 이해 | 00:34:10 | 00:35:05 | |
풀이 생각 | 00:35:07 | 00:35:41 | |
코딩 | 00:35:42 | 00:41:14 |
function solution(nums) {
return Math.min(new Set(nums).size, nums.length / 2);
}
아이디어 & 풀이
가장 많은 종류의 폰켓몬을 선택하려면 중복없이 선택하면 된다. 즉 중복없이 정리한 폰켓몬의 종류의 수가 가장 많은 종류의 폰켓몬을 선택하는 수이며 이 값이 선택할 수 있는 최대 폰켓몬의 마리수 (N/2
)를 초과하는 경우해는 N/2
를 반환하면 된다.
Set
을 이용해서 중복을 제거하고size
값을 이용해 폰켓몬의 종류의 수를 얻는다.Math.min
을 이용해 폰켓몬의 종류와N/2
중 작은 값을 반환한다.
-
ps-js