알고리즘/프로그래머스 문제풀이

[프로그래머스] 포켓몬 javascript

자바칩 프라푸치노 2021. 9. 30. 21:12

https://programmers.co.kr/learn/courses/30/lessons/1845

 

코딩테스트 연습 - 폰켓몬

당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.

programmers.co.kr

 

[문제 해석]

1. 포켓몬을 n/2 개를 가져갈 수 있다.

2. 가져갈 수 있는 조합 중에 가장 다양한 종류의 포켓몬을 가져가고 싶다.

 

 

[코드]

const solution = nums => {
    let answer = [...new Set(nums)],
        limit = nums.length / 2;

    return answer.length > limit ? limit : answer.length;
}

 

[풀이]

중복되는 것은 의미가 없으므로 set에 넣는다.

answer을 출력하면 배열로 중복이 제거돼서 나온다.

만약 answer의 길이(중복제거한 숫자)가 주어진 nums의 2분의 1 보다(가져갈 수 있는 개수) 보다 크면

limit가 답이 될 것이고 아니라면 answer의 길이가 될 것이다.

728x90