알고리즘
[프로그래머스 Lv.1] 폰켓몬 중복되는 배열 Set
furaha
2023. 9. 2. 11:17
반응형
1. 문제

2. 생각흐름
1) 주어진 배열에서 중복된 숫자를 추출하는 것을 먼저 해야겠다고 생각했다. 중복되는 값을 찾는 메소드를 검색
2) 답안이 배열의 갯수 나누기 2 만큼이 되거나 그것보다 넘으면 안된다. 그래서 if 문 제어가 필요하다
3. 풀이
function solution(nums) {
const uniqueNumbers = new Set(nums);
const uniqueCount = uniqueNumbers.size;
const halfLength = nums.length / 2;
if (uniqueCount <= halfLength) {
return uniqueCount;
} else {
return halfLength;
}
}
1. nums 배열에서 중복되는 숫자의 종류의 갯수 구하기
- new Set() 은 매개변수로 객체(배열)를 넣을 수 있으며 중복되는 값을 제거하는 역할을 한다
2. 배열을 2로 나눈 숫자를 구한다
3. 답의 조건은 배열을 2로 나눈 수 안에서 중복된 숫자를 걸러야 하기 때문에 if 문으로 uniqueCount 의 수가 더 크다면 halfLength 로 대체해서 답을 낸다.
4. 알게 된 점
Set 메소드의 용도를 알게 되었다
나중에 만약 회원의 정보 중에 이름이 겹치는 사람을 찾거나, 생일이 겹치는 사람을 찾을 때 유용할 것 같다
반응형