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

JavaScript

  1. 자바스크립트에서 배열을 지정한 개수의 하위 배열(청크)로 나누는 방법

    배열을 지정한 개수의 하위 배열로 나누기숫자로 이루어진 배열을 첫 번째 인수로, 하나의 숫자 num을 두 번째 인수로 받는 자바스크립트 함수를 작성해야 합니다. 이때 num은 항상 배열의 길이보다 작거나 같은 값입니다.함수는 정확히 num개의 하위 배열을 담고 있는 새로운 배열을 반환해야 합니다. 만약 배열의 길이가 num으로 나누어 떨어진다면 모든 하위 배열은 같은 개수의 요소를 가져야 하고, 나누어 떨어지지 않는다면 마지막 하위 배열만 다른 개수의 요소를 담게 됩니다.입력 예시const arr = [1, 2, 3, 4, 5, 6

  2. 자바스크립트로 이진수 배열 덧셈 알고리즘 구현하기

    이진수 덧셈의 기본 원리이진수 덧셈은 다음 네 가지 기본 규칙을 따릅니다.0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 10이 규칙들을 염두에 두면, 이진수 덧셈은 자릿수 올림(캐리) 원리를 따르는 십진수 덧셈과 매우 유사하다는 것을 알 수 있습니다. 두 비트의 합이 1을 초과하면 현재 자릿수에는 0을 기록하고, 그다음 자릿수로 1을 올려주는 것이 핵심입니다.문제 정의두 개의 배열을 인자로 받는 자바스크립트 함수를 작성해야 합니다. 각 배열은 0 또는 1로만 구성된 이진 문자열 요소를 포함합니다.함수는 두 배열에서

  3. JavaScript에서 두 배열의 부분 집합(isSubset) 여부 확인하기

    두 개의 배열을 인자로 받아, 한 배열이 다른 배열의 부분 집합인지 판별하는 JavaScript 함수를 작성해야 합니다. 단순히 값의 존재 여부만 확인해서는 안 되며, 다음 조건을 모두 만족해야 합니다. 첫 번째 배열(arr1)의 모든 값은 두 번째 배열(arr2)에 반드시 존재해야 합니다. arr1에 중복된 값이 있다면, arr2에도 동일한 횟수만큼 중복되어 있어야 합니다. 예를 들어 arr1 = [a, a]이고 arr2 = [b, a]라고 가정해 보겠습니다. a는 첫 번째 배열에 두 번 등장하지만 두 번째 배열에는 한 번만

  4. JavaScript에서 목표 합계가 되는 모든 숫자 쌍 찾는 방법

    이번 글에서는 첫 번째 인자로 숫자 배열을, 두 번째 인자로 목표 합계(target sum)를 받아, 배열 안에서 두 수를 더했을 때 목표 합계가 되는 모든 숫자 쌍을 찾아 반환하는 JavaScript 함수를 작성해 보겠습니다.예를 들어 배열 [7, 0, -4, 5, 2, 3]에서 목표 합계가 5라면, 함수는 [0, 5]와 [2, 3]이라는 두 개의 쌍을 반환해야 합니다.접근 방식: 해시 맵 활용이 문제는 해시 맵(일반 객체)을 활용하면 효율적으로 해결할 수 있습니다. 배열을 한 번만 순회하면서 각 요소에 대해 목표 합계에서 현재

  5. JavaScript 단일 연결 리스트에서 특정 값의 노드 제거하기

    문제 소개 다음과 같이 객체 리터럴로 표현한 단일 연결 리스트(singly linked list)가 있다고 가정해 보겠습니다. 각 노드는 데이터(value)와 다음 노드를 가리키는 참조(next)로 구성되며, 마지막 노드의 next는 null입니다. const list = { value: 1, next: { value: 2, next: { value: 3, next: { value: 4, n

  6. JavaScript로 중첩 배열의 각 하위 배열 평균값 구하기

    숫자로 이루어진 배열의 배열(중첩 배열)을 입력받아, 각 하위 배열의 평균값을 계산한 뒤 새로운 배열에 해당 인덱스 순서대로 담아 반환하는 JavaScript 함수를 작성해 보겠습니다.예를 들어 다음과 같은 배열이 있다고 가정해 봅시다.const arr = [ [1], [2,3], [4,5,6,7] ];동작 원리이 문제는 두 단계로 나누어 해결할 수 있습니다.1. 단일 배열의 평균 계산하기reduce() 메서드를 사용하면 배열 요소들의 합계를 손쉽게 구할 수 있습니다. 합계를 배열의 길이로 나누면 평균값이 됩니

  7. JavaScript에서 숫자를 개별 자릿수 배열로 분할하는 방법

    JavaScript에서 숫자(Number)를 입력받아 각 자릿수로 분할한 뒤, 그 숫자들을 배열로 만들어 반환하는 함수를 작성해야 하는 경우가 있습니다.예를 들어, 입력값이 다음과 같다면 −const num = 55678;출력 결과는 다음과 같아야 합니다.const output = [5, 5, 6, 7, 8];제약 조건이 문제의 핵심 조건은 숫자를 문자열(String)로 변환하지 않고, ES6의 문자열 관련 메서드도 사용하지 않고 해결해야 한다는 점입니다. 즉, 순수하게 수학적 연산만으로 자릿수를 분리해야 합니다.해결 접

  8. JavaScript에서 숫자를 가장 가까운 10의 거듭제곱으로 반올림하는 방법

    이 글에서는 하나의 숫자를 인수로 받아, 그 숫자에 가장 가까운 10의 거듭제곱을 반환하는 JavaScript 함수를 작성하는 방법을 살펴보겠습니다.함수의 동작 결과는 다음과 같습니다.f(1) = 1 f(5) = 1 f(15) = 10 f(43) = 10 f(456) = 100 f(999) = 100즉, 입력값의 자릿수에 맞춰 가장 근접한 10의 거듭제곱(1, 10, 100, 1000 등)을 찾아 반환하는 것이 핵심입니다.구현 예시const num = 2355; const num1 = 346; const num2 = 678; con

  9. JavaScript에서 구분자(|)가 포함된 문자열을 객체 배열로 변환하는 방법

    JavaScript로 개발을 하다 보면 특정 구분자로 이어진 문자열 데이터를 다뤄야 하는 경우가 종종 있습니다. 이번 글에서는 |(파이프) 기호로 구분된 문자열을 옵션 이름과 값으로 분리하여 객체 배열 형태로 변환하는 방법을 알아보겠습니다.문제 상황다음과 같은 문자열이 있다고 가정해 보겠습니다.const str = Option 1|false|Option 2|false|Option 3|false|Option 4|true;이 문자열은 옵션 이름과 값(true/false)이 | 기호를 기준으로 번갈아 가며 나열되어 있습니다.우리가 만들

  10. JavaScript 사용자 정의 함수로 배열에서 중복 항목 모두 제거하는 방법

    문제 소개리터럴 값들로 구성된 배열을 인수로 받는 JavaScript 함수를 작성해야 합니다. 만약 어떤 요소가 배열 안에 두 번 이상 나타난다면, 이 함수는 해당 요소의 모든 인스턴스를 배열에서 완전히 제거해야 합니다.예를 들어, 입력 배열이 다음과 같다고 가정해 보겠습니다.const arr = [1,2,3,4,4,5,5];여기서 4와 5는 각각 두 번씩 등장하므로, 기대되는 출력 결과는 다음과 같습니다.const output = [1, 2, 3];구현 예제const arr = [1, 2, 3, 4, 4, 5, 5]; const

  11. JavaScript reduce() 메서드 하나로 배열 평균값 구하기

    문제 정의숫자로 이루어진 배열을 입력받아, 배열 내 모든 숫자의 평균값을 계산하는 JavaScript 함수를 작성해야 합니다. 여기서 유일한 조건은 반드시 Array.prototype.reduce() 메서드를 사용해야 한다는 점입니다.reduce() 메서드의 동작 원리reduce()는 배열의 각 요소를 순회하면서 콜백 함수를 실행하고, 그 결과를 누적값에 더해 최종적으로 하나의 값으로 반환하는 고차 함수입니다. 콜백 함수는 다음 네 가지 인수를 받습니다.acc (누적값): 이전 콜백 호출에서 반환된 값value (현재값): 현재 처

  12. JavaScript로 홀수·짝수 인덱스 요소를 각각 합산해 절대 차이 구하기

    숫자로 이루어진 배열을 입력받아, 홀수 인덱스에 위치한 요소들과 짝수 인덱스에 위치한 요소들을 각각 따로 합산한 뒤, 두 합의 절대적인 차이를 반환하는 JavaScript 함수를 작성하는 방법을 알아보겠습니다.구현 예제const arr = [4, 6, 3, 1, 5, 8, 9, 3, 4];const oddEvenDifference = (arr = []) => {   let oddSum = 0;   let evenSum = 0;   for(let i = 0; i < ar

  13. 자바스크립트 배열에서 최댓값과 최솟값의 차이 구하기

    숫자로 이루어진 배열을 입력받아, 그중 가장 큰 값(최댓값)과 가장 작은 값(최솟값)을 찾아 두 값의 차이를 반환하는 자바스크립트 함수를 작성해야 합니다.해결 방법자바스크립트에는 각각 최댓값과 최솟값을 구할 수 있는 내장 메서드인 Math.max()와 Math.min()이 있습니다. 전개 연산자(...)를 사용하면 배열의 요소들을 이 메서드들에 개별 인수로 쉽게 전달할 수 있습니다.최댓값과 최솟값을 구한 뒤에는 두 값을 빼주기만 하면 됩니다.예제 코드const arr = [4, 6, 3, 1, 5, 8, 9, 3, 4];const

  14. JavaScript 배열로 요소별 빈도(Frequency) 객체 만들기

    이번 글에서는 리터럴 값으로 구성된 배열을 입력받아, 그 배열을 기반으로 하나의 객체를 생성해 반환하는 JavaScript 함수를 작성해 보겠습니다.만들어질 객체의 키(key)는 배열에 포함된 중복 없는 고유 요소들이며, 각 키의 값(value)은 해당 요소가 배열 안에 몇 번 등장했는지를 나타내는 빈도수입니다.구현 방법핵심 로직은 다음과 같습니다.빈 객체를 하나 생성합니다.반복문으로 배열을 순회하면서 현재 요소가 객체에 이미 존재하는지 확인합니다.존재한다면 해당 키의 값을 1 증가시키고, 존재하지 않는다면 값을 1로 초기화합니다.

  15. JavaScript로 연속된 숫자 기준으로 정렬된 배열을 그룹화하는 방법

    다음과 같이 오름차순으로 정렬된 정수 배열이 있다고 가정해 보겠습니다.const arr = [1, 2, 3, 5, 6, 7, 10, 12, 17, 18];이 배열을 입력으로 받아 다음 조건에 맞게 그룹화하는 JavaScript 함수를 작성해야 합니다.같은 그룹 내의 요소들은 서로 차이가 1 이하여야 합니다.각 그룹은 유효한 그룹으로 인정되기 위해 두 개 이상의 요소를 포함해야 합니다.위 조건을 적용하면 기대되는 출력 결과는 다음과 같습니다.const output = [     [1, 2, 3],

  16. JavaScript로 여러 객체의 배열 값 중 최단 거리 조합 찾기

    다음과 같이 배열들을 값으로 가지는 객체가 있다고 가정해 보겠습니다.const obj = {     obj1: [ 0, 10 ],     obj2: [ 3, 9 ],     obj3: [ 5, 12, 14 ] };이러한 배열 객체를 입력으로 받아 처리하는 JavaScript 함수를 작성해야 합니다. 주의할 점은 각 객체가 두 개 이상의 거리 지점(distance point)을 가지고 있지만, 다른 객체와 조합할 때는 각 객체에

  17. JavaScript에서 변수 하나만으로 문자열 뒤집는 방법

    ```html 문제 소개임의의 문자열이 주어졌을 때, 단 하나의 추가 변수만 사용하여 그 문자열을 뒤집은 결과를 만들어 내는 JavaScript 프로그램을 작성해야 합니다.프로그램은 내장 함수나 직접 만든 함수를 선언하거나 사용할 수 없습니다.바닐라 JavaScript와 필요하다면 기본적인 반복문만 활용해야 합니다.접근 방법핵심 아이디어는 매우 간단합니다. 원본 문자열의 끝에서부터 한 글자씩 읽어 들여, 결과를 담을 문자열 변수에 순서대로 이어 붙이는 것입니다. 이때 새롭게 선언하는 변수는 결과 문자열 하나뿐입니다.예제 코드cons

  18. JavaScript로 자릿수가 짝수인 숫자만 추출하는 방법

    문제 정의숫자 배열을 유일한 인자로 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 배열 요소 중 자릿수가 짝수인 숫자들을 모두 골라 새로운 배열로 반환해야 합니다.예를 들어 입력 배열이 다음과 같다면 −const arr = [34, 23, 112, 8, 3456, 345];출력 결과는 다음과 같아야 합니다 −const output = [34, 23, 3456];34와 23은 2자리, 3456은 4자리이므로 자릿수가 짝수입니다. 반면 112와 345는 3자리, 8은 1자리이므로 결과에서 제외됩니다.

  19. JavaScript로 숫자 자릿수를 재배열해 만들 수 있는 최소 숫자와의 최대 차이 구하기

    이번 글에서는 양의 정수 하나를 입력받아, 그 숫자의 자릿수를 재배열하여 만들 수 있는 가장 작은 숫자와 원래 숫자 사이의 차이를 계산하는 JavaScript 함수를 작성하는 방법을 알아보겠습니다.문제 이해함수는 양의 정수를 유일한 입력값으로 받으며, 해당 숫자의 자릿수를 임의로 재배열했을 때 만들어질 수 있는 최소 숫자를 찾은 뒤, 원래 숫자에서 그 값을 뺀 결과를 반환해야 합니다.예를 들어 입력 숫자가 820이라고 가정해 보겠습니다.820의 자릿수(8, 2, 0)를 오름차순으로 정렬하면 028, 즉 28이 됩니다.따라서 함수가

  20. JavaScript 배열에서 두 번째로 많이 등장하는 요소 찾기

    문제 개요리터럴 값으로 이루어진 배열을 인자로 받아, 배열 안에서 두 번째로 많이 등장하는 요소를 반환하는 JavaScript 함수를 작성해 보겠습니다.예를 들어, 다음과 같은 배열이 입력으로 주어졌다고 가정해 봅시다.const arr = [2, 5, 4, 3, 2, 6, 5, 5, 7, 2, 5];이 배열에서 5는 4번, 2는 3번 등장합니다. 즉, 가장 많이 등장하는 요소는 5이고, 두 번째로 많이 등장하는 요소는 2입니다. 따라서 기대되는 출력 결과는 다음과 같습니다.const output = 2;해결 접근 방법이 문제는 크게

Total 5929 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:41/297  20-컴퓨터/Page Goto:1 35 36 37 38 39 40 41 42 43 44 45 46 47