-
[프로그래머스] 폰켓몬 - javascript기타/코딩테스트 2022. 6. 13. 22:53
문제
홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.
N/2마리의 폰켓몬을 선택하는 방법 중, 가장 많은 종류의 폰켓몬을 선택하는 방법을 찾아, 그때의 폰켓몬 종류 번호의 개수를 return 하도록 solution 함수를 완성해주세요.
내 풀이
function solution(_nums) { let answer = 0; const numSet = new Set(_nums); const choose = _nums.length / 2; answer = choose < numSet.size ? choose : numSet.size; return answer; }
ㅎ.. 처음에 이상한 삽질을. .
문제 이해못하고 경우의 수 구해서 어떻게 하지 한참을 고민하다가 아닌 것 같아서 문제 다시 읽어봄..
그랬더니 N/2라는 가장 큰 열쇠를 잊고 있었다는 것을 알게되었다..
아무리 많은 경우의 수가 있어 봤자 N/2 까지만 선택할 수 있다는 것
문제를 다시 한 번 읽고 제대로 이해하고 나니 바로 풀 수 있었다.
_nums의 중복을 제거해서 최대로 고를 수 있는 폰켓몬 종류의 수를 구하고,
최대 선택할 수 있는 개수와 비교해서 더 적은 수를 리턴함
실행 테스트
const nums = [3,1,2,3]; console.log(solution(nums)); // output => 2
'기타 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] 로또의 최고 순위와 최저 순위 - javascript (0) 2022.06.21 [프로그래머스] 키패드 누르기 - javascript (0) 2022.06.16 [프로그래머스] 숫자 문자열과 영단어 - javascript (0) 2022.06.14 [프로그래머스] 실패율 - javascript (0) 2022.06.13 [프로그래머스] 신규 아이디 추천 - javascript (0) 2022.06.13