본문 바로가기

코딩/Javascript9

Sliding Window function solution(str1, str2) { let i = 0; let j = 0; while (j < str2.length) { if (str2[j] === str1[i]) { i += 1; } //이때 i = 3 if (i === str1.length) { return true; } j++; // j = 0 [a] , i = 0[6] // j = 1 [b] , i = 0[6] // j = 2 [6] , i = 0[6] // j = 3 [C] , i = 1[C] // j = 4 [D] , i = 2[D] // j = 5 [E] , i = 3[] // j = 6 [4] , i = 3[] // j = 7 [4] , i = 3[] // j = 8 [3] , i = 3[] // j = 9 [f] .. 2023. 3. 17.
[JS] 이중 반복문 성능 개선 방법 function checkSame(arr1, arr2) { let counter1 = {}; let counter2 = {}; for (let item of arr1) { counter1[item] = (counter1[item] || 0) + 1; } for (let item of arr2) { counter2[item] = (counter2[item] || 0) + 1; } for (let key in counter1) { if (!(key in counter2)) { return false; } if (counter2[key] !== counter1[key]) { return false; } } return true; } console.log(checkSame([3, 5, 7, 8, 9], [3, .. 2023. 3. 17.
[JS] 시간 복잡도(Time Complexity), 공간 복잡도(Space Complexity) 알고리즘 계산 복잡도는 다음 두 가지 척도로 표현할 수 있다. 시간 복잡도 : 얼마나 빠르게 실행되는가 공간 복잡도 : 얼마나 많은 저장 공간이 필요한가 시간 복잡도는 코드를 처리하는 데 얼마의 시간이 걸리는지 알려준다. 이런 알고리즘의 시간 복잡도는 주로 빅-오 표기법을 사용하여 나타낸다. Big-O(빅-오)란 알고리즘의 성능을 수학적으로 표현해주는 표기법이다. 이를 통해 알고리즘의 시간과 공간 복잡도를 표현할 수 있다. 빅오 표기법은 데이터나 사용자의 증가율에 따른 알고리즘의 성능을 예측하기 위해 사용한다. 시간 복잡도(Time Complexity) O(1) : Constant Time O(1)은 입력 데이터의 크기에 상관없이 일정한 시간이 걸리는 알고리즘을 O(1)이라 말한다. function tw.. 2023. 3. 17.
배열 const rainbowColors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet'] console.log(rainbowColors[0]) // o번 인덱스를 통해서 데이터에 접근. red console.log(rainbowColors[1]) // 1번 인덱스를 통해서 데이터에 접근. orage console.log(rainbowColors[2]) // 2번 인덱스를 통해서 데이터에 접근. yellow console.log(rainbowColors[3]) // 3번 인덱스를 통해서 데이터에 접근. green console.log(rainbowColors[4]) // 4번 인덱스를 통해서 데이터에 접근. blue console.log(r.. 2023. 3. 6.