JavaScript 6

소인수분해

소인수분해 소인수분해란, 어떤 수를 소수들의 곱으로 표현한 것이다. 예를 들어 12를 소인수 분해하면 2 x 2 x 3으로 나타난다. 중복을 제거하면 소인수는 2, 3이다. 소인수분해를 구하는 알고리즘을 공부해보았다. function solution(n) { var answer = new Set(); for (let i = 2; i a - b); } 1. 중복이 없어야하므로 Set으로 지정하였다. 2. n 나머지 i가 0일 경우 answer에 add 해준다. 3. n 을 낮은 숫자에서 나눌 수 있을만큼 나누어준다. 헷갈릴 수 있는 개념이지만, 익혀두면 좋을 거 같아 글로 정리해보았다.

Algorithm 2023.02.10

배열의 요소를 서로 swap하는 방법

배열의 요소를 서로 swap하는 방법으로 크게 2가지로 나눌 수 있다. 왼손에 물건을 들고 오른손에도 물건을 들고 있으면 서로 물건을 바꾸기가 쉽지 않다. 그래서 책상에 물건을 두고 바꿔서 드는 방법이다. temp라는 변수를 이용해 swap이 가능하다. const arr = ['h', 'e', 'l', 'l', 'o']; let temp = arr[0]; arr[0] = arr[1]; arr[1] = temp; console.log(arr); // ['e', 'h', 'l', 'l', 'o']; 다음은 구조 분해 할당을 이용한 방법이다. 배열, 객체의 속성을 해체하고 그 값을 각 변수에 담을 수 있게하는 JavaScript 표현식이다. const arr = ['h', 'e', 'l', 'l', 'o'];..

JavaScript 2023.02.08

Template Literals 문자 순서 바꾸기

let hats = 50; let shirts = 100; function switch(str, ...vars) { console.log(`${str[0]} ${vars[0]} ${str[1]} ${vars[1]}`); } switch`모자 재고: ${hats} 셔츠 재고: ${shirts}` // 모자 재고: 50 셔츠 재고: 100 위 같이 출력이 되는 상황에서 '모자'와 '셔츠'의 위치를 바꾸고 싶을 때 Template Literals를 사용하면 된다. function switch(str, ...vars) { console.log(`${str[1]} ${vars[0]} ${str[0]} ${vars[1]}`); } switch`모자 재고: ${hats} 셔츠 재고: ${shirts}` // 셔츠 재..

카테고리 없음 2022.11.10

자료형의 복잡도 O(1) O(n)

JavaScript 자료형의 복잡도 1) arr[i] 2) arr.push(5) 3) arr.slice() 4) arr.pop() 5) arr.includes(5)다음 5가지 항목중 내장함수의 시간 복잡도가 O(1)이 아닌 것을 찾아보자. 💡Big O가 무엇인지 알아보자. 실행할 때 필요한 단계 수를 의미한다. 단계 수가 왜 중요할까? 날이 갈수록 컴퓨터 성능이 좋아져서 예전과는 비교할 수 없지만 필요한 단계 수가 1이라면 아주 빠르게 되는 것을 알 수 있다. 하지만 필요한 단계 수가 100일 경우에 컴퓨터의 성능을 제외한다면 단계 수가 1인 것보다 느리게 처리된다는 것을 알 수 있다. Big O는 실행에 필요한 단계 수를 나타내는 것을 의미한다. 💡O(1)과 O(n)의 의미 O(1)은 "Big O 1"..

JavaScript 2022.09.02