본문 바로가기

JavaScript45

js - 슬라이딩 윈도우(Sliding Window) 슬라이딩 윈도우(Sliding Window)는 배열이나 문자열에서 연속된 범위(부분 구간)를 한 칸씩 옮겨가며 검사하는 기법입니다.일정한 범위를 유지하면서 한 칸씩 앞으로 이동하므로 O(n) 시간복잡도로 문제를 효율적으로 해결할 수 습니다..✅ 슬라이딩 윈도우 방식이란?기존 방식 (slice 사용)→ 매 반복마다 slice(ex : discount.slice(i, i + 10))를 새로 만들어서 처리 → 시간 복잡도 O(n * 10) (즉, 전체 탐색 n번 * 슬라이스 10)슬라이딩 윈도우 방식→ 초기 윈도우 한번 만들고, 다음 윈도우는 앞 원소 빼고, 뒤 원소 추가하는 식으로 처리 → 시간 복잡도 O(n) 근접✨ 문법 구조 요약for (let i = 0; i ✨ 예시 const arr = [1, 2,.. 2025. 6. 2.
js 배열에서 특정 값이 몇번 나오는지 찾는 방법 for 반복문, filter(), reduce()1. for 반복문 활용가장 기본적인 방법은 for 반복문을 사용하여 배열의 모든 요소를 순회하며, 원하는 값과 일치할 때마다 개수를 증가시키는 것입니다. 직관적이고 이해하기 쉽다는 장점이 있습니다.const fruits = ['apple', 'banana', 'apple', 'orange', 'apple'];const targetFruit = 'apple';let count = 0;for (let i = 0; i 설명: 배열 fruits를 처음부터 끝까지 순회하면서, 각 요소가 targetFruit('apple')과 같은지 확인합니다. 같으면 count 변수를 1씩 증가시킵니다.2. filter() 함수 활용filter() 함수는 배열에서 특정 조건을 만.. 2025. 6. 2.
Nest Js 설치 및 프로젝트 만들기 1. Node.js 설치https://nodejs.org/kohttps://nodejs.org/ko/downloadC:\Users\Users>node -v'node'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다.이 메시지는 Windows에서 node 명령어를 인식하지 못한다는 뜻입니다. 주로 Node.js가 설치되어 있지 않거나, 설치는 되어 있는데 환경 변수(PATH)에 등록되지 않은 경우 발생할 수 있어요.해결 방법:Node.js가 설치되어 있는지 확인하세요.시작 메뉴에서 'Node.js' 또는 'Node.js 설치' 찾아보거나, 공식 사이트에서 다운로드 및 설치하세요.환경 변수(PATH)에 Node.js가 등록되었는지 확인하세요.설치 시 자동으로 등록되지 않았다.. 2025. 5. 20.
js 배열 만들기 : Array.from(), Array.fromAsync(), Array.isArray(), Array.of() JavaScript에서 제공하는 Array 관련 정적 메소드들은 배열 생성 및 판별, 그리고 변환 과정에서 매우 유용하게 활용될 수 있습니다.  목차Array.from()개요구문 및 매개변수반환 값과 동작 방식추가 설명기본 예시 코드응용 예시 코드Array.fromAsync()개요구문 및 매개변수반환 값과 동작 방식추가 설명기본 예시 코드응용 예시 코드Array.isArray()개요구문 및 매개변수반환 값과 동작 방식추가 설명기본 예시 코드응용 예시 코드Array.of()개요구문 및 매개변수반환 값과 동작 방식추가 설명기본 예시 코드응용 예시 코드1. Array.from()개요Array.from() 메소드는 반복 가능한(iterable) 객체나 배열과 유사(array-like)한 객체로부터 새 배열 인스.. 2025. 4. 11.
jest.spyOn 🔵 개념 및 역할스파이(Spy): 실제 함수의 동작은 그대로 유지하면서, 호출 여부, 호출 횟수, 전달된 인자 등을 기록합니다.목적: 함수의 내부 로직은 건드리지 않고, 함수가 어떻게 사용되었는지를 감시하여 테스트의 신뢰성을 높이는 데 사용됩니다.🔵 기본 사용법스파이 생성하기const calculator = { add: (a, b) => a + b,};// 'calculator' 객체의 'add' 메서드에 스파이 부착const spyFn = jest.spyOn(calculator, 'add');함수 호출 및 결과 검증const result = calculator.add(2, 3);// 호출 횟수 확인expect(spyFn).toHaveBeenCalledTimes(1);// 전달된 인자 확인expec.. 2025. 3. 24.
테스트코드 만들기 - jest 1. 환경설정Jest 설치npm install —save-dev jest 설치 후 package.json의 scripts 부분에 추가."scripts": {"test": "jest"} 테스트를 실행할 때 명령어.# 전체 테스트 파일 실행npm test # 특정 테스트 파일 실행. 하나만 고르세요npx jest path/to/your-test-file.test.jsnpm test -- path/to/your-test-file.test.js 2. 기본적인 테스트 작성Jest에서는 test 또는 it을 사용해서 테스트를 작성한다. (테스트할 함수)test("테스트 설명", () => {expect("검증 대상").toXxx("기대 결과");});// sum.js (테스트할 함수)function sum(a, b.. 2025. 3. 7.