Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript

  1. JavaScript로 가장 긴 감소 연속 부분 수열의 길이 구하기

    이번 글에서는 정수 배열을 입력받아, 배열 안에서 가장 길게 감소하는 연속 부분 수열의 길이를 반환하는 JavaScript 함수를 작성하는 방법을 알아보겠습니다.문제 이해하기함수는 정수로 이루어진 배열을 하나 받으며, 배열 내 요소들이 연속적으로 감소하는 구간 중 가장 긴 구간의 길이를 반환해야 합니다.예를 들어, 입력 배열이 다음과 같다고 가정해 보겠습니다.const arr = [5, 2, 5, 4, 3, 2, 4, 6, 7];이 경우 기대되는 출력값은 다음과 같습니다.const output = 4;그 이유는 배열에서 [5, 4,

  2. JavaScript로 구현하는 퍼지 검색(Fuzzy Search) 알고리즘

    JavaScript에서 문자열에 대해 느슨하게(loosely) 검색어를 확인하는 퍼지 검색 함수를 구현해 보겠습니다. 퍼지 검색은 검색어가 정확히 일치하지 않더라도, 검색어의 각 글자가 대상 문자열에 순서대로 포함되어 있으면 일치로 판단하는 방식입니다. 자동 완성 기능이나 빠른 필터링 UI를 만들 때 유용하게 활용됩니다.퍼지 검색의 판정 조건이 함수는 다음 기준을 충족해야 합니다.검색어(query)의 각 문자를 앞에서부터 순서대로 순회하면서,각 문자가 대상 문자열에서 동일한 순서로 등장하는지 확인합니다.예를 들면 다음과 같습니다.(

  3. JavaScript에서 다른 배열을 기반으로 배열 요소 병합하기

    문제 상황다음과 같은 구절(phrase)들로 이루어진 참조 배열이 있다고 가정해 보겠습니다.const reference = [your, majesty, they, are, ready];그리고 위 배열의 일부 요소들을 또 다른 배열을 기준으로 병합해야 하는 상황입니다. 기준이 되는 배열은 다음과 같습니다.const another = [your, they are];원하는 최종 결과는 다음과 같습니다.result = [your, majesty, they are, ready];즉, 두 배열의 요소를 서로 비교하여, 첫 번째 배열에서 연속된

  4. JavaScript로 1부터 n까지 숫자 이름의 글자 수 세기

    문제 소개숫자 n을 입력받아, 1부터 n까지의 숫자를 영어 단어로 나타냈을 때 사용되는 글자 수의 총합을 계산하는 JavaScript 함수를 작성해야 합니다.예를 들어 n = 5인 경우를 살펴보겠습니다. 이때 숫자 이름은 one, two, three, four, five이며, 각 단어의 글자 수는 차례대로 3, 3, 5, 4, 4자입니다. 이를 모두 더하면 총 19자가 되므로, 출력 결과는 19가 되어야 합니다.구현 예제const sumUpto = (num = 1) => {    let su

  5. JavaScript로 팩토리얼(계승) 자릿수의 합 계산하기

    문제 이해하기숫자 하나를 인자로 받는 JavaScript 함수를 작성해 보겠습니다. 이 함수는 먼저 해당 숫자의 팩토리얼(계승)을 계산한 뒤, 계산된 팩토리얼 값의 각 자릿수를 모두 더한 합을 반환해야 합니다.예를 들어 숫자 6이 주어지면, 팩토리얼은 720이며, 따라서 기대되는 출력값은 7 + 2 + 0 = 9입니다.예제 코드const factorial = (num) => {   if (num == 1) return 1;   return num * factorial(num - 1); };

  6. JavaScript 숫자 배열 정렬: 0은 맨 앞에, 나머지는 내림차순으로

    문제 소개숫자 배열을 입력받아 아래 조건에 따라 정렬하는 자바스크립트 함수를 작성해 보겠습니다.배열에 0이 포함되어 있다면, 모든 0은 배열의 맨 앞에 위치해야 합니다.나머지 숫자들은 내림차순(큰 수부터 작은 수 순서)으로 배치해야 합니다.예시입력 배열이 다음과 같다면,const arr = [4, 7, 0, 3, 5, 1, 0];정렬이 적용된 후 배열은 다음과 같아야 합니다.const output = [0, 0, 7, 5, 4, 3, 1];해결 접근 방식이 문제는 Array.prototype.sort() 메서드를 활용하면 간단하게

  7. JavaScript에서 객체 그룹화 및 중복 횟수 계산을 위한 효율적인 알고리즘

    JavaScript 개발을 하다 보면 객체 배열에서 특정 속성 값을 기준으로 데이터를 그룹화하고, 각 값이 몇 번 반복되었는지(중복 횟수) 계산해야 하는 경우가 자주 발생합니다. 이 글에서는 이러한 작업을 효율적으로 처리하는 알고리즘을 단계별로 살펴보겠습니다. 문제 정의 객체로 구성된 배열이 있다고 가정해 보겠습니다. 한 객체의 특정 속성이 다른 객체의 속성과 동일하다면, 우리는 이를 중복 항목으로 간주합니다. 예를 들어 다음과 같은 데이터가 있습니다. X A B O Y X Z I Y X Z U X A B L Y X Z K 여기서

  8. JavaScript 객체 배열을 하나 또는 여러 속성 기준으로 효율적으로 그룹화하는 방법

    실무에서 데이터를 다루다 보면 객체 배열을 특정 속성을 기준으로 그룹화하고, 각 그룹의 값을 집계해야 하는 경우가 자주 발생합니다. 이번 글에서는 Map과 reduce를 활용해 하나 또는 여러 개의 속성을 기준으로 객체 배열을 유연하게 그룹화하는 방법을 알아보겠습니다.문제 상황다음과 같이 Phase, Step, Task, Value 속성을 가진 객체 배열이 있다고 가정해 보겠습니다.const arr = [ { Phase: Phase 1, Step: Step 1, Task: Task 1, Value: 5 }, { Phase:

  9. JavaScript로 중첩 배열에서 가장 짧은 하위 배열 찾는 방법

    JavaScript를 다루다 보면 배열 안에 여러 개의 배열이 중첩된 구조(배열의 배열)를 만나게 됩니다. 이때 포함된 요소의 개수가 가장 적은, 즉 가장 짧은 하위 배열을 찾아야 하는 경우가 종종 있습니다.예를 들어 다음과 같은 중첩 배열이 있다고 가정해 보겠습니다.const arr = [ [LEFT, RIGHT, RIGHT, BOTTOM, TOP], [RIGHT, LEFT, TOP], [TOP, LEFT] ];여기서 우리가 작성해야 할 함수는 이러한 배열을 인자로 받아, 요소 개수 기준으로 가장 작은 하위

  10. JavaScript 배열에서 최댓값(가장 큰 값)을 찾아 반환하는 방법

    JavaScript 프로그래밍에서 숫자로 이루어진 배열을 입력받아, 배열을 순회하며 가장 큰(최대) 요소를 찾아 반환하는 함수를 작성해야 하는 경우가 자주 있습니다. 이 글에서는 반복문을 활용해 배열의 최댓값을 구하는 방법을 단계별로 살펴보겠습니다.구현 로직핵심 아이디어는 다음과 같습니다.최댓값을 저장할 변수를 -Infinity로 초기화합니다. 이렇게 하면 어떤 숫자와 비교해도 항상 값이 갱신될 수 있습니다.배열이 비어 있는 경우 null을 반환하여 예외 상황을 안전하게 처리합니다.for 반복문으로 배열의 각 요소를 하나씩 확인하면

  11. JavaScript에서 가격 기준으로 객체 배열 정렬하는 방법

    문제 상황다음과 같이 주택 정보와 가격(price) 데이터를 담고 있는 객체 배열이 있다고 가정해 보겠습니다.const arr = [ { h_id: 3, city: Dallas, state: TX, zip: 75201, price: 162500 }, { h_id: 4, city: Bevery Hills, state: CA, zip: 90210, price: 319250

  12. JavaScript에서 index 속성 기준으로 객체 배열 정렬 후 name 값 추출하기

    JavaScript를 다루다 보면 객체 배열을 특정 속성 기준으로 정렬한 뒤, 그중 원하는 값만 추출해야 하는 경우가 자주 있습니다. 이번 글에서는 index 속성을 기준으로 객체 배열을 오름차순으로 정렬하고, 정렬된 결과에서 name 값만 모아 새로운 문자열 배열을 만드는 방법을 알아보겠습니다.문제 상황다음과 같은 객체 배열이 있다고 가정해 보겠습니다.const arr = [ { name : d, index : 3 }, { name : c, index

  13. 자바스크립트로 2차원 배열을 희소 배열(Sparse Array)로 변환하는 방법

    문제 소개다음과 같이 좌표 쌍으로 구성된 2차원 배열이 있다고 가정해 보겠습니다.const arr = [ [3, 1], [2, 12], [3, 3] ];이 배열의 각 요소는 [행 인덱스, 열 인덱스] 쌍을 나타냅니다. 우리는 이러한 배열을 입력으로 받아 희소 배열(sparse array) 형태로 변환하는 자바스크립트 함수를 작성해야 합니다.즉, 함수는 입력 배열에 지정된 인덱스 위치의 요소에만 값(1)을 할당하고, 나머지 모든 요소는 undefined로 초기화된 새로운 2차원 배열을 생성해야 합니다.기대 결과위 입력 배열

  14. JavaScript에서 알파벳·숫자 혼합 배열을 자연스럽게 정렬하는 방법

    문자열과 숫자가 섞여 있는 데이터를 정렬할 때는 단순히 sort()만 호출해서는 원하는 결과를 얻기 어렵습니다. 기본 정렬은 사전식(lexicographic) 비교를 수행하기 때문에 ab-10이 ab-2보다 앞에 오는 등 직관적이지 않은 순서가 나올 수 있습니다. 예를 들어 다음과 같이 알파벳 부분과 숫자 부분이 결합된 배열이 있다고 가정해 보겠습니다. 이 배열을 먼저 알파벳 순으로, 그다음에는 숫자 크기 순으로 정렬하려고 합니다. const arr = [Ab-1, Ab-11, Ab-12, ab-10, ab-100, ab-101,

  15. JavaScript로 숫자 자릿수 합 계산하기 – 버튼 클릭 시 각 자릿수의 합을 구하는 함수 만들기

    이번 글에서는 사용자가 숫자를 입력할 수 있는 입력란을 제공하고, 버튼을 클릭하면 해당 숫자의 모든 자릿수의 합을 화면에 표시하는 JavaScript 프로그램을 작성해 보겠습니다.예를 들어 사용자가 12345를 입력하고 제출 버튼을 클릭하면, 1+2+3+4+5가 계산되어 결과값 15가 출력됩니다.구현 원리핵심 로직은 다음과 같습니다.입력 요소에서 값을 가져온 뒤 문자열로 처리합니다.split() 메서드를 사용해 문자열을 한 글자씩 분리합니다.forEach()로 각 자릿수를 순회하며 parseInt()로 정수 변환 후 누적 합산합니다

  16. JavaScript에서 객체 배열을 배열의 배열(2차원 배열)로 변환하는 방법

    JavaScript 개발을 하다 보면 객체(object)로 이루어진 배열을 키-값 쌍이 담긴 2차원 배열, 즉 배열의 배열 형태로 변환해야 하는 경우가 종종 있습니다. 차트 라이브러리에 데이터를 전달하거나 CSV 형식으로 내보낼 때 특히 유용한 작업입니다.문제 상황다음과 같은 객체 배열이 있다고 가정해 보겠습니다.const arr = [ {2015:11259750.05}, {2016:14129456.9} ];이 배열을 입력으로 받아, 각 객체의 키와 값을 하나의 배열로 묶어 아래와 같은 결과를 만드는 함수를 작성해야

  17. JavaScript에서 객체 배열을 속성 기준으로 그룹화하는 방법

    과일과 채소에 대한 정보를 담고 있는 객체 배열이 있다고 가정해 보겠습니다.const arr = [     {food: apple, type: fruit},     {food: potato, type: vegetable},     {food: banana, type: fruit}, ];이러한 배열을 입력으로 받아 처리하는 자바스크립트 함수를 작성해야 합니다.작성할 함수는 객체들이 가진 type 속성을 기준으로 배열 내 객체들을

  18. JavaScript에서 JSON 배열을 트리 구조로 변환하는 방법

    JavaScript 개발을 하다 보면 데이터베이스나 API에서 받은 평면(flat) 배열을 카테고리, 조직도, 메뉴 등에 활용할 수 있도록 중첩된 트리(nested tree) 구조로 변환해야 하는 경우가 자주 있습니다.이번 글에서는 점(.)으로 구분된 계층형 코드를 기준으로 평면 배열을 트리 구조로 변환하는 방법을 예제와 함께 살펴보겠습니다.문제 상황다음과 같이 부모-자식 관계가 코드(code) 값의 계층 구조로 표현된 배열이 있다고 가정해 보겠습니다.const arr = [{ code: 2, name: PENDING

  19. JavaScript로 중첩된 객체 배열 필터링하기 — filter와 some 활용법

    실무에서는 객체 안에 또 다른 객체나 배열이 중첩된 형태의 데이터를 자주 다루게 됩니다. 이번 글에서는 이렇게 중첩된 배열에서 특정 조건을 만족하는 객체만 골라내는 방법을 JavaScript 코드 예제와 함께 살펴보겠습니다.문제 상황다음과 같이 각 항목이 legs라는 하위 배열을 가지고 있는 객체 배열이 있다고 가정해 보겠습니다.const arr = [{    id: 1,    legs: [{      &nb

  20. JavaScript 배열에서 n개 숫자의 최대 곱 구하기

    첫 번째 인수로 숫자 배열을, 두 번째 인수로 정수 n을 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 배열에서 n개의 숫자를 선택했을 때 만들 수 있는 가장 큰 곱을 계산하여 반환해야 합니다.문제 해결 접근 방식최대 곱을 구하려면 단순히 큰 숫자만 고르는 것으로는 부족하며, 음수의 활용 가능성까지 고려해야 합니다. 핵심 아이디어는 다음과 같습니다.배열을 오름차순으로 정렬합니다.n이 홀수라면 가장 큰 요소 하나를 미리 곱에 포함시켜 남은 개수를 짝수로 맞춥니다.이후 절댓값이 큰 음수 두 개의 곱과 가장 큰 양수 두 개

Total 5929 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:45/297  20-컴퓨터/Page Goto:1 39 40 41 42 43 44 45 46 47 48 49 50 51