[JS] CDT 로 배우는 Javascript 기능과 기술들 [9.0]

김현수·2023년 10월 18일
0

cdt

목록 보기
9/51


📰 Coding Test 에서 익히는 javscript 기능과 기술 등


Array 의 "sort" 오름차순

const numbers = [3,21,34,55,22]
const sorted = numbers.sort((a, b) => b - a);
console.log(sorted); // [55, 34, 22, 21, 3]

정규표현식으로 String 제거하기

// 알파벳 모음 제거하기
function solution(my_string) {
    return my_string.replace(/[aeiou]/g, '');
}
// 알파벳 소문자 제거하기
function solution(my_string) {
    return my_string.replace(/["a-z"]/g, '');
}
// 숫자 외 문자 모두 제거한 후 총합
function solution(my_string) {
    return [...my_string.replace(/[^0-9]/g, '')].reduce((acc, cur) => acc + Number(cur), 0);
}

Set 을 알아보자

  • 중복을 허용하지 않는 값들의 집합
  • 특징
    • 중복 없음
      • 동일한 값을 여러 번 추가해도 한 번만 저장
    • 순서를 기억
      • 값은 삽입된 순서대로 반복
    • 값 기반
      • 키가 없는 값 기반의 컬렉션
  • Method
    • add(value): 값을 추가
    • delete(value): 값을 제거
    • has(value): 주어진 값을 가지고 있으면 true, 아니면 false를 반환
    • clear(): 모든 값을 제거
    • size: Set의 요소 개수를 반환
  • Why 사용?
    • 유일한 아이템을 찾을 때
      • 중복된 아이템을 제거하는 것은 Set을 사용하면 매우 간단
    • 멤버십 검사 성능
      • 값의 존재 여부를 빠르게 확인 가능(빠른 조회 성능)
    • 배열과의 연산
      • 배열 간의 교집합, 합집합, 차집합 등의 연산을 수행하기 쉬움
    • 단순한 값의 집합
      • 키/값 쌍이 필요하지 않을 때 단순한 값의 집합을 유지하고 싶을 때 유용
// 중복된 아이템 제거하기
let arrayWithDuplicates = [1, 2, 3, 4, 4, 5];
let uniqueArray = [...new Set(arrayWithDuplicates)];
console.log(uniqueArray); // [1, 2, 3, 4, 5]
// 소인수분해
// 어떤 수를 소수들의 곱으로 표현
function solution(n) {
    let answer = [];
    let idx = 2;
    
    while (n >= 2) {
        if (n % idx === 0) {
            answer.push(idx);
            n /= idx;
        } else idx += 1;
    }
    
    
    return [... new Set(answer)];
}
profile
일단 한다

0개의 댓글